diff -r cc5830c452c4 -r 7c12f5476d1b Quot/Nominal/LamEx2.thy --- a/Quot/Nominal/LamEx2.thy Tue Feb 02 10:43:48 2010 +0100 +++ b/Quot/Nominal/LamEx2.thy Tue Feb 02 11:23:17 2010 +0100 @@ -122,6 +122,23 @@ apply(auto) done +lemma alpha_gen_eqvt_atom: + assumes a: "\x. pi \ (f x) = f (pi \ x)" + shows "\pia. ({atom a}, t) \gen \x1 x2. R x1 x2 \ R (pi \ x1) (pi \ x2) f pia ({atom b}, s) \ \pia. ({atom (pi \ a)}, pi \ t) \gen R f pia ({atom (pi \ b)}, pi \ s)" +apply(erule exE) +apply(rule_tac x="pi \ pia" in exI) +apply(simp add: alpha_gen.simps) +apply(erule conjE)+ +apply(rule conjI)+ +apply(rule_tac ?p1="- pi" in permute_eq_iff[THEN iffD1]) +apply(simp add: a[symmetric] atom_eqvt eqvts) +apply(rule conjI) +apply(rule_tac ?p1="- pi" in fresh_star_permute_iff[THEN iffD1]) +apply(simp add: a[symmetric] eqvts atom_eqvt) +apply(subst permute_eqvt[symmetric]) +apply(simp) +done + text {* should be automatic with new version of eqvt-machinery *} lemma alpha_eqvt: shows "t \ s \ (pi \ t) \ (pi \ s)" @@ -130,18 +147,9 @@ apply(simp add: a2) apply(simp) apply(rule a3) -apply(erule exE) -apply(rule_tac x="pi \ pia" in exI) -apply(simp add: alpha_gen.simps) -apply(erule conjE)+ -apply(rule conjI)+ -apply(rule_tac ?p1="- pi" in permute_eq_iff[THEN iffD1]) -apply(simp add: eqvts atom_eqvt) -apply(rule conjI) -apply(rule_tac ?p1="- pi" in fresh_star_permute_iff[THEN iffD1]) -apply(simp add: eqvts atom_eqvt) -apply(subst permute_eqvt[symmetric]) -apply(simp) +apply(rule alpha_gen_eqvt_atom) +apply(rule rfv_eqvt) +apply assumption done lemma alpha_refl: