diff -r 7645e18e8b19 -r 80db544a37ea Nominal/Ex/SingleLet.thy --- a/Nominal/Ex/SingleLet.thy Mon Aug 16 17:39:16 2010 +0800 +++ b/Nominal/Ex/SingleLet.thy Mon Aug 16 17:59:09 2010 +0800 @@ -58,47 +58,46 @@ val thms_f = map (lift_thm [@{typ trm}, @{typ assg}] @{context}) @{thms perm_laws} *} -ML {* - Local_Theory.exit_global; - Class.instantiation; - Class.prove_instantiation_exit_result; - Named_Target.theory_init; - op |-> -*} - -done -|> ... - |-> (fn x => Class.prove_instantiation_exit_result phi tac x) - |-> (fn y => ...) - - section {* NOT *} +lemma [quot_respect]: + "(alpha_assg_raw ===> alpha_assg_raw ===> op =) alpha_bn_raw alpha_bn_raw" + "(op = ===> (alpha_trm_raw ===> op =) ===> prod_rel op = alpha_trm_raw ===> op =) prod_fv prod_fv" + "((prod_rel op = alpha_trm_raw ===> prod_rel op = alpha_trm_raw ===> op =) ===> + (alpha_trm_raw ===> alpha_trm_raw ===> op =) ===> + prod_rel (prod_rel op = alpha_trm_raw) alpha_trm_raw ===> + prod_rel (prod_rel op = alpha_trm_raw) alpha_trm_raw ===> op =) + prod_alpha prod_alpha" + "(op = ===> + (alpha_trm_raw ===> alpha_trm_raw ===> op =) ===> + prod_rel op = alpha_trm_raw ===> prod_rel op = alpha_trm_raw ===> op =) + prod_alpha prod_alpha" + "((prod_rel (prod_rel op = alpha_trm_raw) alpha_trm_raw ===> + prod_rel (prod_rel op = alpha_trm_raw) alpha_trm_raw ===> op =) ===> + (alpha_trm_raw ===> alpha_trm_raw ===> op =) ===> + prod_rel (prod_rel (prod_rel op = alpha_trm_raw) alpha_trm_raw) alpha_trm_raw ===> + prod_rel (prod_rel (prod_rel op = alpha_trm_raw) alpha_trm_raw) alpha_trm_raw ===> + op =) + prod_alpha prod_alpha" +sorry + +thm eq_iff(5) +thm eq_iff(5)[unfolded alphas permute_prod.simps] +ML {* + val thms_e = map (lift_thm [@{typ trm}, @{typ assg}] @{context}) + @{thms eq_iff(5)[unfolded alphas permute_prod.simps]} +*} ML {* val thms_e = map (lift_thm [@{typ trm}, @{typ assg}] @{context}) @{thms eq_iff[unfolded alphas prod_fv.simps prod_rel.simps prod_alpha_def]} *} ML {* - val thms_e = map (lift_thm [@{typ trm}, @{typ assg}] @{context}) @{thms eq_iff[unfolding alphas]} + val thms_e = map (lift_thm [@{typ trm}, @{typ assg}] @{context}) @{thms eq_iff[unfolded alphas]} *} -(* -instance trm :: size .. -instance assg :: size .. - -lemma "(size (Var x)) = 0" -apply(descending) -apply(rule trm_raw_assg_raw.size(9 - 16)) -apply(simp) -*) - -ML {* - val thms_e = map (lift_thm [@{typ trm}, @{typ assg}] @{context}) @{thms eq_iff[unfolding alphas]} -*} - thm perm_defs thm perm_simps