diff -r d59f851926c5 -r 7e28654a760a Nominal/Term5.thy --- a/Nominal/Term5.thy Thu Mar 11 15:10:07 2010 +0100 +++ b/Nominal/Term5.thy Thu Mar 11 16:12:15 2010 +0100 @@ -48,25 +48,32 @@ done lemma alpha5_eqvt: - "xa \5 y \ (x \ xa) \5 (x \ y)" - "xb \l ya \ (x \ xb) \l (x \ ya)" - "alpha_rbv5 a b c \ alpha_rbv5 (x \ a) (x \ b) (x \ c)" -apply (induct rule: alpha_rtrm5_alpha_rlts_alpha_rbv5.inducts) -apply (simp_all add: alpha5_inj permute_eqvt[symmetric]) -apply (erule exE) -apply (rule_tac x="x \ pi" in exI) -apply (erule conjE)+ -apply (rule conjI) -apply (erule alpha_gen_compose_eqvt) -apply (simp_all add: eqvts) -apply (simp add: permute_eqvt[symmetric]) -apply (subst eqvts[symmetric]) -apply (simp add: eqvts) + "(xa \5 y \ (p \ xa) \5 (p \ y)) \ + (xb \l ya \ (p \ xb) \l (p \ ya)) \ + (alpha_rbv5 a b c \ alpha_rbv5 (p \ a) (p \ b) (p \ c))" +apply (tactic {* alpha_eqvt_tac @{thm alpha_rtrm5_alpha_rlts_alpha_rbv5.induct} @{thms alpha5_inj permute_rtrm5_permute_rlts.simps} @{context} 1 *}) done +lemma alpha5_reflp: +"y \5 y \ (x \l x \ alpha_rbv5 0 x x)" +apply (rule rtrm5_rlts.induct) +apply (simp_all add: alpha5_inj) +apply (rule_tac x="0::perm" in exI) +apply (simp add: eqvts alpha_gen fresh_star_def fresh_zero_perm) +done + +lemma alpha5_symp: +"(a \5 b \ a \5 b) \ +(x \l y \ y \l x) \ +(alpha_rbv5 p x y \ alpha_rbv5 (-p) y x)" +apply (rule alpha_rtrm5_alpha_rlts_alpha_rbv5.induct) +apply (simp_all add: alpha5_inj) +sorry + lemma alpha5_equivp: "equivp alpha_rtrm5" "equivp alpha_rlts" + "equivp (alpha_rbv5 p)" sorry quotient_type