src/HOL/IMPP/Com.ML
changeset 17477 ceb42ea2f223
parent 13911 f5c3750292f5
equal deleted inserted replaced
17476:315cb57e3dd7 17477:ceb42ea2f223
       
     1 (* $Id$ *)
       
     2 
     1 val make_imp_tac = EVERY'[rtac mp, fn i => atac (i+1), etac thin_rl];
     3 val make_imp_tac = EVERY'[rtac mp, fn i => atac (i+1), etac thin_rl];
     2 
     4 
     3 Goalw [body_def] "finite (dom body)";
     5 Goalw [body_def] "finite (dom body)";
     4 by (rtac (thm"finite_dom_map_of") 1);
     6 by (rtac (thm"finite_dom_map_of") 1);
     5 qed "finite_dom_body";
     7 qed "finite_dom_body";
     7 Goalw [WT_bodies_def, body_def] "[| WT_bodies; body pn = Some b |] ==> WT b";
     9 Goalw [WT_bodies_def, body_def] "[| WT_bodies; body pn = Some b |] ==> WT b";
     8 by (dtac (thm"map_of_SomeD") 1);
    10 by (dtac (thm"map_of_SomeD") 1);
     9 by (Fast_tac 1);
    11 by (Fast_tac 1);
    10 qed "WT_bodiesD";
    12 qed "WT_bodiesD";
    11 
    13 
    12 val WTs_elim_cases = map WTs.mk_cases
       
    13    ["WT SKIP", "WT (X:==a)", "WT (LOCAL Y:=a IN c)", 
       
    14     "WT (c1;;c2)","WT (IF b THEN c1 ELSE c2)", "WT (WHILE b DO c)",
       
    15     "WT (BODY P)", "WT (X:=CALL P(a))"];
       
    16 
       
    17 AddSEs WTs_elim_cases;
    14 AddSEs WTs_elim_cases;