diff -r 4772d8dd18f8 -r d1d4d7a08a66 src/HOL/Library/Permutations.thy --- a/src/HOL/Library/Permutations.thy Sat Oct 17 13:46:55 2009 +0200 +++ b/src/HOL/Library/Permutations.thy Sun Oct 18 12:07:25 2009 +0200 @@ -5,11 +5,9 @@ header {* Permutations, both general and specifically on finite sets.*} theory Permutations -imports Finite_Cartesian_Product Parity Fact Main +imports Finite_Cartesian_Product Parity Fact begin - (* Why should I import Main just to solve the Typerep problem! *) - definition permutes (infixr "permutes" 41) where "(p permutes S) \ (\x. x \ S \ p x = x) \ (\y. \!x. p x = y)" @@ -85,7 +83,7 @@ unfolding permutes_def by simp lemma permutes_inv_eq: "p permutes S ==> inv p y = x \ p x = y" - unfolding permutes_def inv_def apply auto + unfolding permutes_def inv_onto_def apply auto apply (erule allE[where x=y]) apply (erule allE[where x=y]) apply (rule someI_ex) apply blast @@ -95,10 +93,11 @@ done lemma permutes_swap_id: "a \ S \ b \ S ==> Fun.swap a b id permutes S" - unfolding permutes_def swap_def fun_upd_def apply auto apply metis done + unfolding permutes_def swap_def fun_upd_def by auto metis -lemma permutes_superset: "p permutes S \ (\x \ S - T. p x = x) \ p permutes T" -apply (simp add: Ball_def permutes_def Diff_iff) by metis +lemma permutes_superset: + "p permutes S \ (\x \ S - T. p x = x) \ p permutes T" +by (simp add: Ball_def permutes_def Diff_iff) metis (* ------------------------------------------------------------------------- *) (* Group properties. *)