diff -r 01ae96fa4bf9 -r 4135198bbb8a Nominal/Nominal2_FSet.thy --- a/Nominal/Nominal2_FSet.thy Mon Apr 12 17:44:26 2010 +0200 +++ b/Nominal/Nominal2_FSet.thy Tue Apr 13 00:47:57 2010 +0200 @@ -18,14 +18,13 @@ instantiation FSet.fset :: (pt) pt begin -term "permute :: perm \ 'a list \ 'a list" - quotient_definition "permute_fset :: perm \ 'a fset \ 'a fset" is "permute :: perm \ 'a list \ 'a list" -instance proof +instance +proof fix x :: "'a fset" and p q :: "perm" show "0 \ x = x" by (lifting permute_zero [where 'a="'a list"]) @@ -36,17 +35,12 @@ end lemma permute_fset[eqvt]: - "p \ ({||} :: 'a :: pt fset) = {||}" + "(p \ {||}) = ({||} :: 'a::pt fset)" "p \ finsert (x :: 'a :: pt) xs = finsert (p \ x) (p \ xs)" by (lifting permute_list.simps) -lemma map_eqvt[eqvt]: "pi \ (map f l) = map (pi \ f) (pi \ l)" - apply (induct l) - apply (simp_all) - apply (simp only: eqvt_apply) - done - -lemma fmap_eqvt[eqvt]: "pi \ (fmap f l) = fmap (pi \ f) (pi \ l)" +lemma fmap_eqvt[eqvt]: + shows "pi \ (fmap f l) = fmap (pi \ f) (pi \ l)" by (lifting map_eqvt) lemma fset_to_set_eqvt[eqvt]: "pi \ (fset_to_set x) = fset_to_set (pi \ x)"