src/HOL/Real/Hyperreal/Zorn.thy
changeset 5979 11cbf236ca16
child 7219 4e3f386c2e37
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/HOL/Real/Hyperreal/Zorn.thy	Fri Nov 27 11:24:27 1998 +0100
@@ -0,0 +1,33 @@
+(*  Title       : Zorn.thy
+    Author      : Jacques D. Fleuriot
+    Copyright   : 1998  University of Cambridge
+    Description : Zorn's Lemma -- See lcp's Zorn.thy in ZF
+*) 
+
+Zorn = Finite +  
+
+constdefs
+  chain     ::  'a set => 'a set set
+    "chain S  == {F. F <= S & (ALL x: F. ALL y: F. x <= y | y <= x)}" 
+
+  super     ::  ['a set,'a set] => (('a set) set) 
+    "super S c == {d. d: chain(S) & c < d}"
+
+  maxchain  ::  'a set => 'a set set
+    "maxchain S == {c. c: chain S & super S c = {}}"
+
+  succ      ::  ['a set,'a set] => 'a set
+    "succ S c == if (c ~: chain S| c: maxchain S) 
+                 then c else (@c'. c': (super S c))" 
+
+consts 
+  "TFin" :: 'a set => 'a set set
+
+inductive "TFin(S)"
+  intrs
+    succI        "x : TFin S ==> succ S x : TFin S"
+    Pow_UnionI   "Y : Pow(TFin S) ==> Union(Y) : TFin S"
+           
+  monos          Pow_mono
+end
+