src/HOL/IMP/Hoare.ML
changeset 10202 9e8b4bebc940
parent 10186 499637e8f2c6
equal deleted inserted replaced
10201:b52140d1a7bc 10202:9e8b4bebc940
    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";