File AxExample.ML
open AxExample;
Delsplits [split_if_asm];
Addsimps[lvar_def];
Goalw [test_def] "enough_mem \<Longrightarrow> tprg,{}\<turnstile>{Normal (\<lambda>Ys Z. True)} .test. \
\ {(\<lambda>Ys Z. True) \<and>. (\<lambda>s. tprg,s\<turnstile>catch SXcpt NP)}";
b y ax_tac 1;
b y defer_tac 1;
b y ax_tac 1;
b y defer_tac 1;
b y inst1_tac "Q1" "(\<lambda>Ys Z. True) \<and>. (\<lambda>s. tprg,s\<turnstile>catch SXcpt NP)";
b y Clarsimp_tac 2;
b y Simp_tac 1;
b y Normal_tac 1;
b y ax_tac 1;
b y ax_tac 1;
b y Simp_tac 1;
b y rtac conseq1 1;
b y ax_tac 1;
b y clarsimp_tac (claset(),simpset() addsimps[throw_def,catch_def])1;
b y defer_tac 1;
b y rtac conseq2 1;
b y etac ax_SXAlloc_catch_SXcpt 1;
b y Fast_tac 2;
b y Simp_tac 1;
b y ax_tac 1;
b y res_inst_tac [("C","Ext")] ax_Call_known_DynT 1;
b y Simp_tac 1;
b y Force_tac 1;
b y defern_tac 2;
b y inst1_tac "R24" "Normal ?R";
b y Normal_tac 1;
b y ax_tac 1;
b y rtac (empty_subsetI RSN (2,ax_thin)) 1;
b y simp_tac (simpset() addsimps [body_def2]) 1;
b y ax_tac 1;
b y defern_tac 2;
b y rtac ax_derivs.Xcpt 1;
b y defern_tac 4;
b y ax_tac 1;
b y ax_tac 1;
b y rtac ax_derivs.Xcpt 2;
b y Simp_tac 1;
b y ax_tac 1;
b y defer_tac 1;
b y ax_tac 1;
b y ax_tac 1;
b y ax_tac 1;
b y defern_tac 3;
b y simp_tac (simpset() addsimps [RefVar_def,Let_def]) 2;
b y ax_tac 2;
b y Simp_tac 1;
b y rtac peek_and_forget1_Normal 1;
b y ax_tac 1;
b y defern_tac 2;
b y Simp_tac 1;
b y ax_tac 1;
b y ax_tac 2;
b y ax_tac 1;
b y ax_tac 2;
b y ax_tac 2;
b y Simp_tac 1;
b y ax_tac 1;
b y ax_tac 1;
b y defer_tac 1;
b y Simp_tac 1;
b y ax_tac 1;
b y ax_tac 1;
b y atac 1;
b y Simp_tac 1;
b y rtac conseq2 1;
b y inst1_tac "Q'51" "Normal (\<lambda>s:(\<lambda>Ys Z. True)\<down>#Var (lvar (EName e) s)) \<and>.\
\ initd Ext";
b y Clarsimp_tac 2;
b y rtac ax_triv_InitS 1;
b y Force_tac 1;
b y Simp_tac 1;
b y Clarsimp_tac 1;
b y rtac peek_and_forget2 1;
b y rtac ax_triv_InitS 1;
b y Force_tac 1;
b y Simp_tac 1;
b y Clarsimp_tac 1;
b y rtac peek_and_forget2 1;
b y rtac ax_triv_Init_Object 1;
b y rtac wf_tprg 1;
b y Clarsimp_tac 1;
b y stac peek_and_and 1;
b y rtac ax_LVar2 1;
qed "ax_test";
(*Goal "G,{}\<turnstile>{} Expr(LVar z:=NewC C);; {t,cT,mode}e..m({[]}[])-\<succ> {}"*)