diff -r 636de31888a6 -r fcc660ece040 Nominal/Abs.thy --- a/Nominal/Abs.thy Wed Apr 14 16:05:58 2010 +0200 +++ b/Nominal/Abs.thy Wed Apr 14 18:46:59 2010 +0200 @@ -762,8 +762,7 @@ by (simp_all add: fresh_plus_perm) -(* PROBLEM: this should be the real eqvt lemma for the alphas *) -lemma alpha_gen_real_eqvt: +lemma alpha_gen_eqvt[eqvt]: shows "(bs, x) \gen R f q (cs, y) \ (p \ bs, p \ x) \gen (p \ R) (p \ f) (p \ q) (p \ cs, p \ y)" and "(bs, x) \res R f q (cs, y) \ (p \ bs, p \ x) \res (p \ R) (p \ f) (p \ q) (p \ cs, p \ y)" and "(ds, x) \lst R f q (es, y) \ (p \ ds, p \ x) \lst (p \ R) (p \ f) (p \ q) (p \ es, p \ y)" @@ -774,23 +773,6 @@ unfolding Diff_eqvt[symmetric] by (auto simp add: permute_bool_def fresh_star_permute_iff) - -lemma alpha_gen_eqvt: - assumes a: "R (q \ x) y \ R (p \ (q \ x)) (p \ y)" - and b: "p \ (f x) = f (p \ x)" - and c: "p \ (f y) = f (p \ y)" - shows "(bs, x) \gen R f q (cs, y) \ (p \ bs, p \ x) \gen R f (p \ q) (p \ cs, p \ y)" - and "(bs, x) \res R f q (cs, y) \ (p \ bs, p \ x) \res R f (p \ q) (p \ cs, p \ y)" - and "(ds, x) \lst R f q (es, y) \ (p \ ds, p \ x) \lst R f (p \ q) (p \ es, p \ y)" - unfolding alphas - unfolding set_eqvt[symmetric] - unfolding b[symmetric] c[symmetric] - unfolding Diff_eqvt[symmetric] - unfolding permute_eqvt[symmetric] - using a - by (auto simp add: fresh_star_permute_iff) - - lemma alpha_gen_simpler: assumes fv_rsp: "\x y. R y x \ f x = f y" and fin_fv: "finite (f x)"