src/ZF/ZF.thy
changeset 37 cebe01deba80
parent 0 a5a9c433f639
child 49 c78503b345c4
equal deleted inserted replaced
36:70c6014c9b6f 37:cebe01deba80
    98   "Un"  :: "[i, i] => i"         (infixl 65) (*binary union*)
    98   "Un"  :: "[i, i] => i"         (infixl 65) (*binary union*)
    99   "-"   :: "[i, i] => i"         (infixl 65) (*set difference*)
    99   "-"   :: "[i, i] => i"         (infixl 65) (*set difference*)
   100   " ->" :: "[i, i] => i"         ("(_ ->/ _)" [61, 60] 60) (*function space*)
   100   " ->" :: "[i, i] => i"         ("(_ ->/ _)" [61, 60] 60) (*function space*)
   101   "<="  :: "[i, i] => o"         (infixl 50) (*subset relation*)
   101   "<="  :: "[i, i] => o"         (infixl 50) (*subset relation*)
   102   ":"   :: "[i, i] => o"         (infixl 50) (*membership relation*)
   102   ":"   :: "[i, i] => o"         (infixl 50) (*membership relation*)
       
   103   "~:"   :: "[i, i] => o"        (infixl 50) (*negated membership relation*)
   103 
   104 
   104 
   105 
   105 translations
   106 translations
   106   "{x, xs}"     == "cons(x, {xs})"
   107   "{x, xs}"     == "cons(x, {xs})"
   107   "{x}"         == "cons(x, 0)"
   108   "{x}"         == "cons(x, 0)"
   122   "THE x. P"    == "The(%x. P)"
   123   "THE x. P"    == "The(%x. P)"
   123   "lam x:A. f"  == "Lambda(A, %x. f)"
   124   "lam x:A. f"  == "Lambda(A, %x. f)"
   124   "ALL x:A. P"  == "Ball(A, %x. P)"
   125   "ALL x:A. P"  == "Ball(A, %x. P)"
   125   "EX x:A. P"   == "Bex(A, %x. P)"
   126   "EX x:A. P"   == "Bex(A, %x. P)"
   126 
   127 
       
   128   "x ~: y"      == "~ (x:y)"
       
   129 
   127 
   130 
   128 rules
   131 rules
   129 
   132 
   130  (* Bounded Quantifiers *)
   133  (* Bounded Quantifiers *)
   131 Ball_def        "Ball(A,P) == ALL x. x:A --> P(x)"
   134 Ball_def        "Ball(A,P) == ALL x. x:A --> P(x)"
   143 
   146 
   144  (*We may name this set, though it is not uniquely defined. *)
   147  (*We may name this set, though it is not uniquely defined. *)
   145 infinity        "0:Inf & (ALL y:Inf. succ(y): Inf)"
   148 infinity        "0:Inf & (ALL y:Inf. succ(y): Inf)"
   146 
   149 
   147  (*This formulation facilitates case analysis on A. *)
   150  (*This formulation facilitates case analysis on A. *)
   148 foundation      "A=0 | (EX x:A. ALL y:x. ~ y:A)"
   151 foundation      "A=0 | (EX x:A. ALL y:x. y~:A)"
   149 
   152 
   150  (* Schema axiom since predicate P is a higher-order variable *)
   153  (* Schema axiom since predicate P is a higher-order variable *)
   151 replacement     "(ALL x:A. ALL y z. P(x,y) & P(x,z) --> y=z) ==> \
   154 replacement     "(ALL x:A. ALL y z. P(x,y) & P(x,z) --> y=z) ==> \
   152 \                        b : PrimReplace(A,P) <-> (EX x:A. P(x,b))"
   155 \                        b : PrimReplace(A,P) <-> (EX x:A. P(x,b))"
   153 
   156