equal
deleted
inserted
replaced
23 by (etac hoare.induct 1); |
23 by (etac hoare.induct 1); |
24 by (ALLGOALS Asm_simp_tac); |
24 by (ALLGOALS Asm_simp_tac); |
25 by (Fast_tac 1); |
25 by (Fast_tac 1); |
26 by (Fast_tac 1); |
26 by (Fast_tac 1); |
27 by (EVERY' [rtac allI, rtac allI, rtac impI] 1); |
27 by (EVERY' [rtac allI, rtac allI, rtac impI] 1); |
28 by (etac induct2 1); |
28 by (etac lfp_induct2 1); |
29 by (rtac Gamma_mono 1); |
29 by (rtac Gamma_mono 1); |
30 by (rewtac Gamma_def); |
30 by (rewtac Gamma_def); |
31 by (Fast_tac 1); |
31 by (Fast_tac 1); |
32 qed "hoare_sound"; |
32 qed "hoare_sound"; |
33 |
33 |
83 by (Asm_full_simp_tac 1); |
83 by (Asm_full_simp_tac 1); |
84 by (asm_full_simp_tac (simpset() addsimps [wp_def,Gamma_def]) 1); |
84 by (asm_full_simp_tac (simpset() addsimps [wp_def,Gamma_def]) 1); |
85 by (strip_tac 1); |
85 by (strip_tac 1); |
86 by (rtac mp 1); |
86 by (rtac mp 1); |
87 by (assume_tac 2); |
87 by (assume_tac 2); |
88 by (etac induct2 1); |
88 by (etac lfp_induct2 1); |
89 by (fast_tac (claset() addSIs [monoI]) 1); |
89 by (fast_tac (claset() addSIs [monoI]) 1); |
90 by (stac gfp_unfold 1); |
90 by (stac gfp_unfold 1); |
91 by (fast_tac (claset() addSIs [monoI]) 1); |
91 by (fast_tac (claset() addSIs [monoI]) 1); |
92 by (Fast_tac 1); |
92 by (Fast_tac 1); |
93 qed "wp_While"; |
93 qed "wp_While"; |