src/ZF/ZF.thy
changeset 1155 928a16e02f9f
parent 1116 7fca5aabcbb0
child 1401 0c439768f45c
equal deleted inserted replaced
1154:bc295e3dc078 1155:928a16e02f9f
   157 
   157 
   158   (*This formulation facilitates case analysis on A.*)
   158   (*This formulation facilitates case analysis on A.*)
   159   foundation    "A=0 | (EX x:A. ALL y:x. y~:A)"
   159   foundation    "A=0 | (EX x:A. ALL y:x. y~:A)"
   160 
   160 
   161   (*Schema axiom since predicate P is a higher-order variable*)
   161   (*Schema axiom since predicate P is a higher-order variable*)
   162   replacement   "(ALL x:A. ALL y z. P(x,y) & P(x,z) --> y=z) ==> \
   162   replacement   "(ALL x:A. ALL y z. P(x,y) & P(x,z) --> y=z) ==> 
   163                 \        b : PrimReplace(A,P) <-> (EX x:A. P(x,b))"
   163                          b : PrimReplace(A,P) <-> (EX x:A. P(x,b))"
   164 
   164 
   165 defs
   165 defs
   166 
   166 
   167   (* Derived form of replacement, restricting P to its functional part.
   167   (* Derived form of replacement, restricting P to its functional part.
   168      The resulting set (for functional P) is the same as with
   168      The resulting set (for functional P) is the same as with
   212   converse_def  "converse(r) == {z. w:r, EX x y. w=<x,y> & z=<y,x>}"
   212   converse_def  "converse(r) == {z. w:r, EX x y. w=<x,y> & z=<y,x>}"
   213 
   213 
   214   domain_def    "domain(r) == {x. w:r, EX y. w=<x,y>}"
   214   domain_def    "domain(r) == {x. w:r, EX y. w=<x,y>}"
   215   range_def     "range(r) == domain(converse(r))"
   215   range_def     "range(r) == domain(converse(r))"
   216   field_def     "field(r) == domain(r) Un range(r)"
   216   field_def     "field(r) == domain(r) Un range(r)"
   217   function_def	"function(r) == ALL x y. <x,y>:r -->   \
   217   function_def	"function(r) == ALL x y. <x,y>:r -->   
   218 \		                (ALL y'. <x,y'>:r --> y=y')"
   218 		                (ALL y'. <x,y'>:r --> y=y')"
   219   image_def     "r `` A  == {y : range(r) . EX x:A. <x,y> : r}"
   219   image_def     "r `` A  == {y : range(r) . EX x:A. <x,y> : r}"
   220   vimage_def    "r -`` A == converse(r)``A"
   220   vimage_def    "r -`` A == converse(r)``A"
   221 
   221 
   222   (* Abstraction, application and Cartesian product of a family of sets *)
   222   (* Abstraction, application and Cartesian product of a family of sets *)
   223 
   223