# HG changeset patch # User Cezary Kaliszyk # Date 1268236694 -3600 # Node ID 3e128904baba45686e167b80db60dd127c762255 # Parent 01aa049d441a63cd3b86fccfdabfb6410c359105 More tries about the proofs in trm5 diff -r 01aa049d441a -r 3e128904baba Nominal/Term5.thy --- a/Nominal/Term5.thy Wed Mar 10 15:40:15 2010 +0100 +++ b/Nominal/Term5.thy Wed Mar 10 16:58:14 2010 +0100 @@ -90,15 +90,15 @@ print_theorems lemma alpha5_rfv: - "(t \5 s \ fv_rtrm5 t = fv_rtrm5 s) \ (l \l m \ fv_rlts l = fv_rlts m) \ (alpha_rbv5 a b c \ True)" - apply(induct rule: alpha_rtrm5_alpha_rlts_alpha_rbv5.induct) + "(t \5 s \ fv_rtrm5 t = fv_rtrm5 s)" + "(l \l m \ (fv_rlts l = fv_rlts m))" + "(alpha_rbv5 a b c \ True)" + apply(induct rule: alpha_rtrm5_alpha_rlts_alpha_rbv5.inducts) apply(simp_all) apply(simp add: alpha_gen) - apply(erule conjE)+ - apply(erule exE) - apply(erule conjE)+ + apply(clarify) apply(simp_all) - sorry + sorry (* works for non-rec *) lemma bv_list_rsp: shows "x \l y \ rbv5 x = rbv5 y" @@ -122,18 +122,20 @@ apply (simp_all add: alpha5_inj alpha5_rfv alpha5_eqvt bv_list_rsp) apply (clarify) apply (rule_tac x="0" in exI) apply (simp add: fresh_star_def fresh_zero_perm alpha_gen alpha5_rfv) - defer + apply (erule alpha_rtrm5_alpha_rlts_alpha_rbv5.inducts(2)) + apply (simp_all add: alpha5_inj) + apply clarify apply clarify - apply (erule alpha_rlts.cases) - apply (erule alpha_rlts.cases) - apply (simp_all) - defer - apply (erule alpha_rlts.cases) - apply (simp_all) - defer + apply (erule alpha_rtrm5_alpha_rlts_alpha_rbv5.inducts(2)) + apply simp_all + apply (erule_tac[!] alpha_rtrm5_alpha_rlts_alpha_rbv5.inducts(2)) + apply simp_all + defer defer (* Both sides false, so equal when we have distinct *) + apply (erule conjE)+ apply clarify apply (simp add: alpha5_inj) sorry (* may be true? *) + lemma shows "(alpha_rlts ===> op =) rbv5 rbv5" by (simp add: bv_list_rsp)