# HG changeset patch # User Cezary Kaliszyk # Date 1268844014 -3600 # Node ID b55b78e6391382e3ad32e93a1b2fc9b12d1b8823 # Parent a98c158663008ba1dd476bc2969b92ee0cfe59b9 Proper compose_sym2 diff -r a98c15866300 -r b55b78e63913 Nominal/Abs.thy --- a/Nominal/Abs.thy Wed Mar 17 17:09:01 2010 +0100 +++ b/Nominal/Abs.thy Wed Mar 17 17:40:14 2010 +0100 @@ -87,33 +87,25 @@ done lemma alpha_gen_compose_sym2: - assumes a: "(aa, (t1, t2)) \gen (\(x11, x12) (x21, x22). R1 x11 x21 \ R1 x21 x11 \ R2 x12 x22 \ R2 x22 x12) - (\(b, a). fb b \ fa a) pi (ab, (s1, s2))" + assumes a: "(aa, t1, t2) \gen (\(x11, x12) (x21, x22). + (R1 x11 x21 \ R1 x21 x11) \ R2 x12 x22 \ R2 x22 x12) (\(b, a). fb b \ fa a) pi (ab, s1, s2)" and r1: "\pi t s. R1 t s \ R1 (pi \ t) (pi \ s)" and r2: "\pi t s. R2 t s \ R2 (pi \ t) (pi \ s)" - shows "(ab, (s1, s2)) \gen - (\x1 x2. (\(a, b) (d, c). R1 a d \ R2 b c) x1 x2 \ (\(a, b) (d, c). R1 a d \ R2 b c) x2 x1) - (\(b, a). fb b \ fa a) (- pi) (aa, (t1, t2))" - using a -apply(simp add: alpha_gen) -apply clarify -apply (rule conjI) + shows "(ab, s1, s2) \gen (\(a, b) (d, c). R1 a d \ R2 b c) (\(b, a). fb b \ fa a) (- pi) (aa, t1, t2)" + using a + apply(simp add: alpha_gen) + apply clarify + apply (rule conjI) apply(simp add: fresh_star_def fresh_minus_perm) -apply (rule conjI) -apply (rotate_tac 3) -apply (drule_tac pi="- pi" in r1) -apply simp -apply (rule conjI) -apply (rotate_tac -1) -apply (drule_tac pi="- pi" in r2) -apply simp -apply (rule conjI) -apply (drule_tac pi="- pi" in r1) -apply simp -apply (rule conjI) -apply (drule_tac pi="- pi" in r2) -apply simp_all -done + apply (rule conjI) + apply (rotate_tac 3) + apply (drule_tac pi="- pi" in r1) + apply simp + apply (rule conjI) + apply (rotate_tac -1) + apply (drule_tac pi="- pi" in r2) + apply simp_all + done lemma alpha_gen_compose_trans: fixes pi pia diff -r a98c15866300 -r b55b78e63913 Nominal/Fv.thy --- a/Nominal/Fv.thy Wed Mar 17 17:09:01 2010 +0100 +++ b/Nominal/Fv.thy Wed Mar 17 17:40:14 2010 +0100 @@ -609,10 +609,8 @@ THEN_ALL_NEW split_conjs THEN_ALL_NEW asm_full_simp_tac (HOL_ss addsimps @{thms supp_minus_perm minus_add[symmetric]}) THEN_ALL_NEW - (rtac @{thm alpha_gen_compose_sym} THEN' RANGE [ - (asm_full_simp_tac (HOL_ss addsimps @{thms plus_perm_eq})), - (asm_full_simp_tac (HOL_ss addsimps (eqvt @ all_eqvts ctxt))) - ]) + TRY o (rtac @{thm alpha_gen_compose_sym2} ORELSE' rtac @{thm alpha_gen_compose_sym}) THEN_ALL_NEW + (asm_full_simp_tac (HOL_ss addsimps (eqvt @ all_eqvts ctxt))) *} ML {*