Nominal/Abs.thy
changeset 1585 10573d05dd90
parent 1581 6b1eea8dcdc0
child 1588 7cebb576fae3
equal deleted inserted replaced
1584:67936ae78997 1585:10573d05dd90
   687   apply(rotate_tac -1)
   687   apply(rotate_tac -1)
   688   apply(drule_tac pi="pia" in r2)
   688   apply(drule_tac pi="pia" in r2)
   689   apply(simp)
   689   apply(simp)
   690   done
   690   done
   691 
   691 
   692 lemma alpha_gen_compose_eqvt:
       
   693   fixes  pia
       
   694   assumes b: "(g d, t) \<approx>gen (\<lambda>x1 x2. R x1 x2 \<and> R (pi \<bullet> x1) (pi \<bullet> x2)) f pia (g e, s)"
       
   695   and     c: "\<And>y. pi \<bullet> (g y) = g (pi \<bullet> y)"
       
   696   and     a: "\<And>x. pi \<bullet> (f x) = f (pi \<bullet> x)"
       
   697   shows  "(g (pi \<bullet> d), pi \<bullet> t) \<approx>gen R f (pi \<bullet> pia) (g (pi \<bullet> e), pi \<bullet> s)"
       
   698   using b
       
   699   apply -
       
   700   apply(simp add: alpha_gen.simps)
       
   701   apply(erule conjE)+
       
   702   apply(rule conjI)
       
   703   apply(rule_tac ?p1="- pi" in permute_eq_iff[THEN iffD1])
       
   704   apply(simp add: a[symmetric] atom_eqvt Diff_eqvt insert_eqvt set_eqvt empty_eqvt c[symmetric])
       
   705   apply(rule conjI)
       
   706   apply(rule_tac ?p1="- pi" in fresh_star_permute_iff[THEN iffD1])
       
   707   apply(simp add: a[symmetric] atom_eqvt Diff_eqvt insert_eqvt set_eqvt empty_eqvt c[symmetric])
       
   708   apply(subst permute_eqvt[symmetric])
       
   709   apply(simp)
       
   710   sorry
       
   711 
       
   712 end
   692 end
   713 
   693