--- a/Set.thy Mon Oct 25 14:35:17 1993 +0100
+++ b/Set.thy Mon Oct 25 14:36:27 1993 +0100
@@ -19,20 +19,21 @@
(* Constants *)
- Collect :: "('a => bool) => 'a set" (*comprehension*)
- Compl :: "('a set) => 'a set" (*complement*)
- Int :: "['a set, 'a set] => 'a set" (infixl 70)
- Un :: "['a set, 'a set] => 'a set" (infixl 65)
- UNION, INTER :: "['a set, 'a => 'b set] => 'b set" (*general*)
- UNION1 :: "['a => 'b set] => 'b set" (binder "UN " 10)
- INTER1 :: "['a => 'b set] => 'b set" (binder "INT " 10)
- Union, Inter :: "(('a set)set) => 'a set" (*of a set*)
- range :: "('a => 'b) => 'b set" (*of function*)
- Ball, Bex :: "['a set, 'a => bool] => bool" (*bounded quantifiers*)
- inj, surj :: "('a => 'b) => bool" (*inj/surjective*)
+ Collect :: "('a => bool) => 'a set" (*comprehension*)
+ Compl :: "('a set) => 'a set" (*complement*)
+ Int :: "['a set, 'a set] => 'a set" (infixl 70)
+ Un :: "['a set, 'a set] => 'a set" (infixl 65)
+ UNION, INTER :: "['a set, 'a => 'b set] => 'b set" (*general*)
+ UNION1 :: "['a => 'b set] => 'b set" (binder "UN " 10)
+ INTER1 :: "['a => 'b set] => 'b set" (binder "INT " 10)
+ Union, Inter :: "(('a set)set) => 'a set" (*of a set*)
+ range :: "('a => 'b) => 'b set" (*of function*)
+ Ball, Bex :: "['a set, 'a => bool] => bool" (*bounded quantifiers*)
+ inj, surj :: "('a => 'b) => bool" (*inj/surjective*)
inj_onto :: "['a => 'b, 'a set] => bool"
- "``" :: "['a => 'b, 'a set] => ('b set)" (infixl 90)
- ":", "~:" :: "['a, 'a set] => bool" (infixl 50) (*membership*)
+ "``" :: "['a => 'b, 'a set] => ('b set)" (infixl 90)
+ ":" :: "['a, 'a set] => bool" (infixl 50) (*membership*)
+ "~:" :: "['a, 'a set] => bool" ("(_ ~:/ _)" [50, 51] 50)
(* Finite Sets *)
@@ -43,7 +44,7 @@
(** Binding Constants **)
- "@Coll" :: "[idt, bool] => 'a set" ("(1{_./ _})") (*collection*)
+ "@Coll" :: "[idt, bool] => 'a set" ("(1{_./ _})") (*collection*)
(* Big Intersection / Union *)
@@ -59,6 +60,9 @@
translations
+ "x ~: y" == "~ (x : y)"
+ "{x, xs}" == "insert(x, {xs})"
+ "{x}" == "insert(x, {})"
"{x. P}" == "Collect(%x. P)"
"INT x:A. B" == "INTER(A, %x. B)"
"UN x:A. B" == "UNION(A, %x. B)"
@@ -67,11 +71,6 @@
"ALL x:A. P" => "Ball(A, %x. P)"
"EX x:A. P" => "Bex(A, %x. P)"
- "x ~: y" == "~ (x:y)"
-
- "{x, xs}" == "insert(x, {xs})"
- "{x}" == "insert(x, {})"
-
rules
--- a/set.thy Mon Oct 25 14:35:17 1993 +0100
+++ b/set.thy Mon Oct 25 14:36:27 1993 +0100
@@ -19,20 +19,21 @@
(* Constants *)
- Collect :: "('a => bool) => 'a set" (*comprehension*)
- Compl :: "('a set) => 'a set" (*complement*)
- Int :: "['a set, 'a set] => 'a set" (infixl 70)
- Un :: "['a set, 'a set] => 'a set" (infixl 65)
- UNION, INTER :: "['a set, 'a => 'b set] => 'b set" (*general*)
- UNION1 :: "['a => 'b set] => 'b set" (binder "UN " 10)
- INTER1 :: "['a => 'b set] => 'b set" (binder "INT " 10)
- Union, Inter :: "(('a set)set) => 'a set" (*of a set*)
- range :: "('a => 'b) => 'b set" (*of function*)
- Ball, Bex :: "['a set, 'a => bool] => bool" (*bounded quantifiers*)
- inj, surj :: "('a => 'b) => bool" (*inj/surjective*)
+ Collect :: "('a => bool) => 'a set" (*comprehension*)
+ Compl :: "('a set) => 'a set" (*complement*)
+ Int :: "['a set, 'a set] => 'a set" (infixl 70)
+ Un :: "['a set, 'a set] => 'a set" (infixl 65)
+ UNION, INTER :: "['a set, 'a => 'b set] => 'b set" (*general*)
+ UNION1 :: "['a => 'b set] => 'b set" (binder "UN " 10)
+ INTER1 :: "['a => 'b set] => 'b set" (binder "INT " 10)
+ Union, Inter :: "(('a set)set) => 'a set" (*of a set*)
+ range :: "('a => 'b) => 'b set" (*of function*)
+ Ball, Bex :: "['a set, 'a => bool] => bool" (*bounded quantifiers*)
+ inj, surj :: "('a => 'b) => bool" (*inj/surjective*)
inj_onto :: "['a => 'b, 'a set] => bool"
- "``" :: "['a => 'b, 'a set] => ('b set)" (infixl 90)
- ":", "~:" :: "['a, 'a set] => bool" (infixl 50) (*membership*)
+ "``" :: "['a => 'b, 'a set] => ('b set)" (infixl 90)
+ ":" :: "['a, 'a set] => bool" (infixl 50) (*membership*)
+ "~:" :: "['a, 'a set] => bool" ("(_ ~:/ _)" [50, 51] 50)
(* Finite Sets *)
@@ -43,7 +44,7 @@
(** Binding Constants **)
- "@Coll" :: "[idt, bool] => 'a set" ("(1{_./ _})") (*collection*)
+ "@Coll" :: "[idt, bool] => 'a set" ("(1{_./ _})") (*collection*)
(* Big Intersection / Union *)
@@ -59,6 +60,9 @@
translations
+ "x ~: y" == "~ (x : y)"
+ "{x, xs}" == "insert(x, {xs})"
+ "{x}" == "insert(x, {})"
"{x. P}" == "Collect(%x. P)"
"INT x:A. B" == "INTER(A, %x. B)"
"UN x:A. B" == "UNION(A, %x. B)"
@@ -67,11 +71,6 @@
"ALL x:A. P" => "Ball(A, %x. P)"
"EX x:A. P" => "Bex(A, %x. P)"
- "x ~: y" == "~ (x:y)"
-
- "{x, xs}" == "insert(x, {xs})"
- "{x}" == "insert(x, {})"
-
rules