
diff -r fc1674026e20 -r 201061643c4b Set.thy
--- 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
 




