equal
deleted
inserted
replaced
19 (EVERY |
19 (EVERY |
20 [REPEAT (Always_Int_tac ctxt 1), |
20 [REPEAT (Always_Int_tac ctxt 1), |
21 (*reduce the fancy safety properties to "constrains"*) |
21 (*reduce the fancy safety properties to "constrains"*) |
22 REPEAT (etac @{thm Always_ConstrainsI} 1 |
22 REPEAT (etac @{thm Always_ConstrainsI} 1 |
23 ORELSE |
23 ORELSE |
24 resolve_tac [@{thm StableI}, @{thm stableI}, |
24 resolve_tac ctxt [@{thm StableI}, @{thm stableI}, |
25 @{thm constrains_imp_Constrains}] 1), |
25 @{thm constrains_imp_Constrains}] 1), |
26 (*for safety, the totalize operator can be ignored*) |
26 (*for safety, the totalize operator can be ignored*) |
27 simp_tac (put_simpset HOL_ss ctxt |
27 simp_tac (put_simpset HOL_ss ctxt |
28 addsimps [@{thm mk_total_program_def}, @{thm totalize_constrains_iff}]) 1, |
28 addsimps [@{thm mk_total_program_def}, @{thm totalize_constrains_iff}]) 1, |
29 rtac @{thm constrainsI} 1, |
29 rtac @{thm constrainsI} 1, |