diff -r d2e929f51fa9 -r 39f8d405d7a2 Nominal/Ex/SingleLet.thy --- a/Nominal/Ex/SingleLet.thy Sun Aug 29 01:45:07 2010 +0800 +++ b/Nominal/Ex/SingleLet.thy Sun Aug 29 12:14:40 2010 +0800 @@ -41,7 +41,7 @@ lemma test: "(\p. (bs, x) \lst (op=) f p (cs, y)) \ (\p. (bs, x) \lst (op=) supp p (cs, y))" -oops +sorry lemma Abs_eq_iff: shows "Abs bs x = Abs cs y \ (\p. (bs, x) \gen (op =) supp p (cs, y))" @@ -49,7 +49,6 @@ and "Abs_lst bsl x = Abs_lst csl y \ (\p. (bsl, x) \lst (op =) supp p (csl, y))" by (lifting alphas_abs) -(* lemma supp_fv: "supp t = fv_trm t \ supp b = fv_bn b" apply(rule single_let.induct) @@ -65,19 +64,17 @@ apply(subgoal_tac "supp (Lam name trm) = supp (Abs_lst [atom name] trm)") apply(simp only: single_let.fv_defs) apply(simp only: supp_abs) +apply(simp) apply(simp (no_asm) only: supp_def) apply(simp only: single_let.perm_simps) apply(simp only: single_let.eq_iff) +apply(simp only: permute_abs atom_eqvt permute_list.simps) +apply(simp only: Abs_eq_iff) apply(subst test) -apply(simp only: Abs_eq_iff[symmetric]) -apply(simp only: alphas_abs[symmetric]) -apply(simp only: eqvts) -thm Abs_eq_iff -apply(simp only: alphas) +apply(rule refl) sorry -*) + (* - consts perm_bn_trm :: "perm \ trm \ trm" consts perm_bn_assg :: "perm \ assg \ assg"