src/ZF/Constructible/Relative.thy
changeset 13382 b37764a46b16
parent 13363 c26eeb000470
child 13397 6e5f4d911435
equal deleted inserted replaced
13381:60bc63b13857 13382:b37764a46b16
   408 
   408 
   409 subsection{*Absoluteness for a transitive class model*}
   409 subsection{*Absoluteness for a transitive class model*}
   410 
   410 
   411 text{*The class M is assumed to be transitive and to satisfy some
   411 text{*The class M is assumed to be transitive and to satisfy some
   412       relativized ZF axioms*}
   412       relativized ZF axioms*}
   413 locale M_triv_axioms =
   413 locale (open) M_triv_axioms =
   414   fixes M
   414   fixes M
   415   assumes transM:           "[| y\<in>x; M(x) |] ==> M(y)"
   415   assumes transM:           "[| y\<in>x; M(x) |] ==> M(y)"
   416       and nonempty [simp]:  "M(0)"
   416       and nonempty [simp]:  "M(0)"
   417       and upair_ax:	    "upair_ax(M)"
   417       and upair_ax:	    "upair_ax(M)"
   418       and Union_ax:	    "Union_ax(M)"
   418       and Union_ax:	    "Union_ax(M)"
   778        "natnumber(M,0,x) == x=0"
   778        "natnumber(M,0,x) == x=0"
   779 *)
   779 *)
   780 
   780 
   781 subsection{*Some instances of separation and strong replacement*}
   781 subsection{*Some instances of separation and strong replacement*}
   782 
   782 
   783 locale M_axioms = M_triv_axioms +
   783 locale (open) M_axioms = M_triv_axioms +
   784 assumes Inter_separation:
   784 assumes Inter_separation:
   785      "M(A) ==> separation(M, \<lambda>x. \<forall>y[M]. y\<in>A --> x\<in>y)"
   785      "M(A) ==> separation(M, \<lambda>x. \<forall>y[M]. y\<in>A --> x\<in>y)"
   786   and cartprod_separation:
   786   and cartprod_separation:
   787      "[| M(A); M(B) |] 
   787      "[| M(A); M(B) |] 
   788       ==> separation(M, \<lambda>z. \<exists>x[M]. x\<in>A & (\<exists>y[M]. y\<in>B & pair(M,x,y,z)))"
   788       ==> separation(M, \<lambda>z. \<exists>x[M]. x\<in>A & (\<exists>y[M]. y\<in>B & pair(M,x,y,z)))"