src/HOL/Library/ExecutableSet.thy
changeset 21404 eb85850d3eb7
parent 21385 cf398bb8a8be
child 21454 a1937c51ed88
--- a/src/HOL/Library/ExecutableSet.thy	Fri Nov 17 02:19:55 2006 +0100
+++ b/src/HOL/Library/ExecutableSet.thy	Fri Nov 17 02:20:03 2006 +0100
@@ -14,7 +14,7 @@
 instance set :: (eq) eq ..
 
 definition
-  minus_set :: "'a set \<Rightarrow> 'a set \<Rightarrow> 'a set"
+  minus_set :: "'a set \<Rightarrow> 'a set \<Rightarrow> 'a set" where
   "minus_set xs ys = ys - xs"
 
 lemma [code inline]:
@@ -22,8 +22,8 @@
   unfolding minus_set_def ..
 
 definition
-  subset :: "'a set \<Rightarrow> 'a set \<Rightarrow> bool"
-  subset_def: "subset = op \<subseteq>"
+  subset :: "'a set \<Rightarrow> 'a set \<Rightarrow> bool" where
+  "subset = op \<subseteq>"
 
 lemmas [symmetric, code inline] = subset_def
 
@@ -44,8 +44,8 @@
   unfolding bex_triv_one_point1 ..
 
 definition
-  filter_set :: "('a \<Rightarrow> bool) \<Rightarrow> 'a set \<Rightarrow> 'a set"
-  filter_set_def: "filter_set P xs = {x\<in>xs. P x}"
+  filter_set :: "('a \<Rightarrow> bool) \<Rightarrow> 'a set \<Rightarrow> 'a set" where
+  "filter_set P xs = {x\<in>xs. P x}"
 
 lemmas [symmetric, code inline] = filter_set_def
 
@@ -55,11 +55,15 @@
 subsection {* Basic definitions *}
 
 definition
-  flip :: "('a \<Rightarrow> 'b \<Rightarrow> 'c) \<Rightarrow> 'b \<Rightarrow> 'a \<Rightarrow> 'c"
+  flip :: "('a \<Rightarrow> 'b \<Rightarrow> 'c) \<Rightarrow> 'b \<Rightarrow> 'a \<Rightarrow> 'c" where
   "flip f a b = f b a"
-  member :: "'a list \<Rightarrow> 'a \<Rightarrow> bool"
+
+definition
+  member :: "'a list \<Rightarrow> 'a \<Rightarrow> bool" where
   "member xs x = (x \<in> set xs)"
-  insertl :: "'a \<Rightarrow> 'a list \<Rightarrow> 'a list"
+
+definition
+  insertl :: "'a \<Rightarrow> 'a list \<Rightarrow> 'a list" where
   "insertl x xs = (if member xs x then xs else x#xs)"
 
 lemma
@@ -174,9 +178,11 @@
   "intersects (x#xs) = foldr intersect xs x"
 
 definition
-  map_union :: "'a list \<Rightarrow> ('a \<Rightarrow> 'b list) \<Rightarrow> 'b list"
+  map_union :: "'a list \<Rightarrow> ('a \<Rightarrow> 'b list) \<Rightarrow> 'b list" where
   "map_union xs f = unions (map f xs)"
-  map_inter :: "'a list \<Rightarrow> ('a \<Rightarrow> 'b list) \<Rightarrow> 'b list"
+
+definition
+  map_inter :: "'a list \<Rightarrow> ('a \<Rightarrow> 'b list) \<Rightarrow> 'b list" where
   "map_inter xs f = intersects (map f xs)"
 
 
@@ -237,9 +243,10 @@
   unfolding map_inter_def iso_intersects by (induct xs) (simp_all add: iso_member, auto)
 
 definition
-  Blall :: "'a list \<Rightarrow> ('a \<Rightarrow> bool) \<Rightarrow> bool"
+  Blall :: "'a list \<Rightarrow> ('a \<Rightarrow> bool) \<Rightarrow> bool" where
   "Blall = flip list_all"
-  Blex :: "'a list \<Rightarrow> ('a \<Rightarrow> bool) \<Rightarrow> bool"
+definition
+  Blex :: "'a list \<Rightarrow> ('a \<Rightarrow> bool) \<Rightarrow> bool" where
   "Blex = flip list_ex"
 
 lemma iso_Ball: