Nominal/Abs.thy
changeset 1588 7cebb576fae3
parent 1587 b6da798cef68
parent 1585 10573d05dd90
child 1657 d7dc35222afc
equal deleted inserted replaced
1587:b6da798cef68 1588:7cebb576fae3
   671   apply(rotate_tac -1)
   671   apply(rotate_tac -1)
   672   apply(drule_tac pi="pia" in r2)
   672   apply(drule_tac pi="pia" in r2)
   673   apply(simp)
   673   apply(simp)
   674   done
   674   done
   675 
   675 
   676 lemma alpha_gen_compose_eqvt:
       
   677   fixes  pia
       
   678   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)"
       
   679   and     c: "\<And>y. pi \<bullet> (g y) = g (pi \<bullet> y)"
       
   680   and     a: "\<And>x. pi \<bullet> (f x) = f (pi \<bullet> x)"
       
   681   shows  "(g (pi \<bullet> d), pi \<bullet> t) \<approx>gen R f (pi \<bullet> pia) (g (pi \<bullet> e), pi \<bullet> s)"
       
   682   using b
       
   683   apply -
       
   684   apply(simp add: alpha_gen.simps)
       
   685   apply(erule conjE)+
       
   686   apply(rule conjI)
       
   687   apply(rule_tac ?p1="- pi" in permute_eq_iff[THEN iffD1])
       
   688   apply(simp add: a[symmetric] atom_eqvt Diff_eqvt insert_eqvt set_eqvt empty_eqvt c[symmetric])
       
   689   apply(rule conjI)
       
   690   apply(rule_tac ?p1="- pi" in fresh_star_permute_iff[THEN iffD1])
       
   691   apply(simp add: a[symmetric] atom_eqvt Diff_eqvt insert_eqvt set_eqvt empty_eqvt c[symmetric])
       
   692   apply(subst permute_eqvt[symmetric])
       
   693   apply(simp)
       
   694   sorry
       
   695 
       
   696 end
   676 end
   697 
   677