Primitive. The name Eps_i is a term of type (setprop)set.
Axiom. (Eps_i_ax) We take the following as an axiom:
∀P : setprop, ∀x : set, P xP (Eps_i P)
Definition. We define True to be ∀p : prop, pp of type prop.
Definition. We define False to be ∀p : prop, p of type prop.
Definition. We define not to be λA : propAFalse of type propprop.
Notation. We use ¬ as a prefix operator with priority 700 corresponding to applying term not.
Definition. We define and to be λA B : prop∀p : prop, (ABp)p of type proppropprop.
Notation. We use as an infix operator with priority 780 and which associates to the left corresponding to applying term and.
Definition. We define or to be λA B : prop∀p : prop, (Ap)(Bp)p of type proppropprop.
Notation. We use as an infix operator with priority 785 and which associates to the left corresponding to applying term or.
Definition. We define iff to be λA B : propand (AB) (BA) of type proppropprop.
Notation. We use as an infix operator with priority 805 and no associativity corresponding to applying term iff.
Beginning of Section Eq
Variable A : SType
Definition. We define eq to be λx y : A∀Q : AAprop, Q x yQ y x of type AAprop.
Definition. We define neq to be λx y : A¬ eq x y of type AAprop.
End of Section Eq
Notation. We use = as an infix operator with priority 502 and no associativity corresponding to applying term eq.
Notation. We use as an infix operator with priority 502 and no associativity corresponding to applying term neq.
Beginning of Section FE
Variable A B : SType
Axiom. (func_ext) We take the following as an axiom:
∀f g : AB, (∀x : A, f x = g x)f = g
End of Section FE
Beginning of Section Ex
Variable A : SType
Definition. We define ex to be λQ : Aprop∀P : prop, (∀x : A, Q xP)P of type (Aprop)prop.
End of Section Ex
Notation. We use x...y [possibly with ascriptions] , B as a binder notation corresponding to a term constructed using ex.
Axiom. (prop_ext) We take the following as an axiom:
∀p q : prop, iff p qp = q
Primitive. The name In is a term of type setsetprop.
Notation. We use as an infix operator with priority 500 and no associativity corresponding to applying term In. Furthermore, we may write xA, B to mean x : set, xAB.
Definition. We define Subq to be λA B ⇒ ∀xA, x B of type setsetprop.
Notation. We use as an infix operator with priority 500 and no associativity corresponding to applying term Subq. Furthermore, we may write xA, B to mean x : set, xAB.
Axiom. (set_ext) We take the following as an axiom:
∀X Y : set, X YY XX = Y
Axiom. (In_ind) We take the following as an axiom:
∀P : setprop, (∀X : set, (∀xX, P x)P X)∀X : set, P X
Notation. We use x...y [possibly with ascriptions] , B as a binder notation corresponding to a term constructed using ex and handling ∈ or ⊆ ascriptions using and.
Primitive. The name Empty is a term of type set.
Axiom. (EmptyAx) We take the following as an axiom:
¬ ∃x : set, x Empty
Primitive. The name is a term of type setset.
Axiom. (UnionEq) We take the following as an axiom:
∀X x, x X ∃Y, x Y Y X
Primitive. The name 𝒫 is a term of type setset.
Axiom. (PowerEq) We take the following as an axiom:
∀X Y : set, Y 𝒫 X Y X
Primitive. The name Repl is a term of type set(setset)set.
Notation. {B| xA} is notation for Repl Ax . B).
Axiom. (ReplEq) We take the following as an axiom:
∀A : set, ∀F : setset, ∀y : set, y {F x|xA} ∃xA, y = F x
Definition. We define TransSet to be λU : set∀xU, x U of type setprop.
Definition. We define Union_closed to be λU : set∀X : set, X U X U of type setprop.
Definition. We define Power_closed to be λU : set∀X : set, X U𝒫 X U of type setprop.
Definition. We define Repl_closed to be λU : set∀X : set, X U∀F : setset, (∀x : set, x XF x U){F x|xX} U of type setprop.
Definition. We define ZF_closed to be λU : setUnion_closed U Power_closed U Repl_closed U of type setprop.
Primitive. The name UnivOf is a term of type setset.
Axiom. (UnivOf_In) We take the following as an axiom:
∀N : set, N UnivOf N
Axiom. (UnivOf_TransSet) We take the following as an axiom:
∀N : set, TransSet (UnivOf N)
Axiom. (UnivOf_ZF_closed) We take the following as an axiom:
∀N : set, ZF_closed (UnivOf N)
Axiom. (UnivOf_Min) We take the following as an axiom:
∀N U : set, N UTransSet UZF_closed UUnivOf N U
Theorem. (FalseE)
False∀p : prop, p
Proof:
Proof not loaded.
Theorem. (TrueI)
Proof:
Proof not loaded.
Theorem. (andI)
∀A B : prop, ABA B
Proof:
Proof not loaded.
Theorem. (andEL)
∀A B : prop, A BA
Proof:
Proof not loaded.
Theorem. (andER)
∀A B : prop, A BB
Proof:
Proof not loaded.
Theorem. (orIL)
∀A B : prop, AA B
Proof:
Proof not loaded.
Theorem. (orIR)
∀A B : prop, BA B
Proof:
Proof not loaded.
Beginning of Section PropN
Variable P1 P2 P3 : prop
Theorem. (and3I)
P1P2P3P1 P2 P3
Proof:
Proof not loaded.
Theorem. (and3E)
P1 P2 P3(∀p : prop, (P1P2P3p)p)
Proof:
Proof not loaded.
Theorem. (or3I1)
P1P1 P2 P3
Proof:
Proof not loaded.
Theorem. (or3I2)
P2P1 P2 P3
Proof:
Proof not loaded.
Theorem. (or3I3)
P3P1 P2 P3
Proof:
Proof not loaded.
Theorem. (or3E)
P1 P2 P3(∀p : prop, (P1p)(P2p)(P3p)p)
Proof:
Proof not loaded.
Variable P4 : prop
Theorem. (and4I)
P1P2P3P4P1 P2 P3 P4
Proof:
Proof not loaded.
Variable P5 : prop
Theorem. (and5I)
P1P2P3P4P5P1 P2 P3 P4 P5
Proof:
Proof not loaded.
End of Section PropN
Theorem. (not_or_and_demorgan)
∀A B : prop, ¬ (A B)¬ A ¬ B
Proof:
Proof not loaded.
Theorem. (not_ex_all_demorgan_i)
∀P : setprop, (¬ ∃x, P x)∀x, ¬ P x
Proof:
Proof not loaded.
Theorem. (iffI)
∀A B : prop, (AB)(BA)(A B)
Proof:
Proof not loaded.
Theorem. (iffEL)
∀A B : prop, (A B)AB
Proof:
Proof not loaded.
Theorem. (iffER)
∀A B : prop, (A B)BA
Proof:
Proof not loaded.
Theorem. (iff_refl)
∀A : prop, A A
Proof:
Proof not loaded.
Theorem. (iff_sym)
∀A B : prop, (A B)(B A)
Proof:
Proof not loaded.
Theorem. (iff_trans)
∀A B C : prop, (A B)(B C)(A C)
Proof:
Proof not loaded.
Theorem. (eq_i_tra)
∀x y z, x = yy = zx = z
Proof:
Proof not loaded.
Theorem. (f_eq_i)
∀f : setset, ∀x y, x = yf x = f y
Proof:
Proof not loaded.
Theorem. (neq_i_sym)
∀x y, x yy x
Proof:
Proof not loaded.
Definition. We define nIn to be λx X ⇒ ¬ In x X of type setsetprop.
Notation. We use as an infix operator with priority 502 and no associativity corresponding to applying term nIn.
Theorem. (Eps_i_ex)
∀P : setprop, (∃x, P x)P (Eps_i P)
Proof:
Proof not loaded.
Theorem. (pred_ext)
∀P Q : setprop, (∀x, P x Q x)P = Q
Proof:
Proof not loaded.
Theorem. (prop_ext_2)
∀p q : prop, (pq)(qp)p = q
Proof:
Proof not loaded.
Theorem. (Subq_ref)
∀X : set, X X
Proof:
Proof not loaded.
Theorem. (Subq_tra)
∀X Y Z : set, X YY ZX Z
Proof:
Proof not loaded.
Theorem. (Subq_contra)
∀X Y z : set, X Yz Yz X
Proof:
Proof not loaded.
Theorem. (EmptyE)
∀x : set, x Empty
Proof:
Proof not loaded.
Theorem. (Subq_Empty)
∀X : set, Empty X
Proof:
Proof not loaded.
Theorem. (Empty_Subq_eq)
∀X : set, X EmptyX = Empty
Proof:
Proof not loaded.
Theorem. (Empty_eq)
∀X : set, (∀x, x X)X = Empty
Proof:
Proof not loaded.
Theorem. (UnionI)
∀X x Y : set, x YY Xx X
Proof:
Proof not loaded.
Theorem. (UnionE)
∀X x : set, x X∃Y : set, x Y Y X
Proof:
Proof not loaded.
Theorem. (UnionE_impred)
∀X x : set, x X∀p : prop, (∀Y : set, x YY Xp)p
Proof:
Proof not loaded.
Theorem. (PowerI)
∀X Y : set, Y XY 𝒫 X
Proof:
Proof not loaded.
Theorem. (PowerE)
∀X Y : set, Y 𝒫 XY X
Proof:
Proof not loaded.
Theorem. (Empty_In_Power)
∀X : set, Empty 𝒫 X
Proof:
Proof not loaded.
Theorem. (Self_In_Power)
∀X : set, X 𝒫 X
Proof:
Proof not loaded.
Theorem. (xm)
∀P : prop, P ¬ P
Proof:
Proof not loaded.
Theorem. (dneg)
∀P : prop, ¬ ¬ PP
Proof:
Proof not loaded.
Theorem. (not_all_ex_demorgan_i)
∀P : setprop, ¬ (∀x, P x)∃x, ¬ P x
Proof:
Proof not loaded.
Theorem. (eq_or_nand)
or = (λx y : prop¬ (¬ x ¬ y))
Proof:
Proof not loaded.
Definition. We define exactly1of2 to be λA B : propA ¬ B ¬ A B of type proppropprop.
Theorem. (exactly1of2_I1)
∀A B : prop, A¬ Bexactly1of2 A B
Proof:
Proof not loaded.
Theorem. (exactly1of2_I2)
∀A B : prop, ¬ ABexactly1of2 A B
Proof:
Proof not loaded.
Theorem. (exactly1of2_E)
∀A B : prop, exactly1of2 A B∀p : prop, (A¬ Bp)(¬ ABp)p
Proof:
Proof not loaded.
Theorem. (exactly1of2_or)
∀A B : prop, exactly1of2 A BA B
Proof:
Proof not loaded.
Theorem. (ReplI)
∀A : set, ∀F : setset, ∀x : set, x AF x {F x|xA}
Proof:
Proof not loaded.
Theorem. (ReplE)
∀A : set, ∀F : setset, ∀y : set, y {F x|xA}∃xA, y = F x
Proof:
Proof not loaded.
Theorem. (ReplE_impred)
∀A : set, ∀F : setset, ∀y : set, y {F x|xA}∀p : prop, (∀x : set, x Ay = F xp)p
Proof:
Proof not loaded.
Theorem. (ReplE')
∀X, ∀f : setset, ∀p : setprop, (∀xX, p (f x))∀y{f x|xX}, p y
Proof:
Proof not loaded.
Theorem. (Repl_Empty)
∀F : setset, {F x|xEmpty} = Empty
Proof:
Proof not loaded.
Theorem. (ReplEq_ext_sub)
∀X, ∀F G : setset, (∀xX, F x = G x){F x|xX} {G x|xX}
Proof:
Proof not loaded.
Theorem. (ReplEq_ext)
∀X, ∀F G : setset, (∀xX, F x = G x){F x|xX} = {G x|xX}
Proof:
Proof not loaded.
Theorem. (Repl_inv_eq)
∀P : setprop, ∀f g : setset, (∀x, P xg (f x) = x)∀X, (∀xX, P x){g y|y{f x|xX}} = X
Proof:
Proof not loaded.
Theorem. (Repl_invol_eq)
∀P : setprop, ∀f : setset, (∀x, P xf (f x) = x)∀X, (∀xX, P x){f y|y{f x|xX}} = X
Proof:
Proof not loaded.
Definition. We define If_i to be (λp x y ⇒ Eps_i (λz : setp z = x ¬ p z = y)) of type propsetsetset.
Notation. if cond then T else E is notation corresponding to If_i type cond T E where type is the inferred type of T.
Theorem. (If_i_correct)
∀p : prop, ∀x y : set, p (if p then x else y) = x ¬ p (if p then x else y) = y
Proof:
Proof not loaded.
Theorem. (If_i_0)
∀p : prop, ∀x y : set, ¬ p(if p then x else y) = y
Proof:
Proof not loaded.
Theorem. (If_i_1)
∀p : prop, ∀x y : set, p(if p then x else y) = x
Proof:
Proof not loaded.
Theorem. (If_i_or)
∀p : prop, ∀x y : set, (if p then x else y) = x (if p then x else y) = y
Proof:
Proof not loaded.
Definition. We define UPair to be λy z ⇒ {if Empty X then y else z|X𝒫 (𝒫 Empty)} of type setsetset.
Notation. {x,y} is notation for UPair x y.
Theorem. (UPairE)
∀x y z : set, x {y,z}x = y x = z
Proof:
Proof not loaded.
Theorem. (UPairI1)
∀y z : set, y {y,z}
Proof:
Proof not loaded.
Theorem. (UPairI2)
∀y z : set, z {y,z}
Proof:
Proof not loaded.
Definition. We define Sing to be λx ⇒ {x,x} of type setset.
Notation. {x} is notation for Sing x.
Theorem. (SingI)
∀x : set, x {x}
Proof:
Proof not loaded.
Theorem. (SingE)
∀x y : set, y {x}y = x
Proof:
Proof not loaded.
Theorem. (Sing_inj)
∀x y, {x} = {y}x = y
Proof:
Proof not loaded.
Definition. We define binunion to be λX Y ⇒ {X,Y} of type setsetset.
Notation. We use as an infix operator with priority 345 and which associates to the left corresponding to applying term binunion.
Theorem. (binunionI1)
∀X Y z : set, z Xz X Y
Proof:
Proof not loaded.
Theorem. (binunionI2)
∀X Y z : set, z Yz X Y
Proof:
Proof not loaded.
Theorem. (binunionE)
∀X Y z : set, z X Yz X z Y
Proof:
Proof not loaded.
Theorem. (binunionE')
∀X Y z, ∀p : prop, (z Xp)(z Yp)(z X Yp)
Proof:
Proof not loaded.
Theorem. (binunion_asso)
∀X Y Z : set, X (Y Z) = (X Y) Z
Proof:
Proof not loaded.
Theorem. (binunion_com_Subq)
∀X Y : set, X Y Y X
Proof:
Proof not loaded.
Theorem. (binunion_com)
∀X Y : set, X Y = Y X
Proof:
Proof not loaded.
Theorem. (binunion_idl)
∀X : set, Empty X = X
Proof:
Proof not loaded.
Theorem. (binunion_idr)
∀X : set, X Empty = X
Proof:
Proof not loaded.
Theorem. (binunion_Subq_1)
∀X Y : set, X X Y
Proof:
Proof not loaded.
Theorem. (binunion_Subq_2)
∀X Y : set, Y X Y
Proof:
Proof not loaded.
Theorem. (binunion_Subq_min)
∀X Y Z : set, X ZY ZX Y Z
Proof:
Proof not loaded.
Theorem. (Subq_binunion_eq)
∀X Y, (X Y) = (X Y = Y)
Proof:
Proof not loaded.
Definition. We define SetAdjoin to be λX y ⇒ X {y} of type setsetset.
Notation. We now use the set enumeration notation {...,...,...} in general. If 0 elements are given, then Empty is used to form the corresponding term. If 1 element is given, then Sing is used to form the corresponding term. If 2 elements are given, then UPair is used to form the corresponding term. If more than elements are given, then SetAdjoin is used to reduce to the case with one fewer elements.
Definition. We define famunion to be λX F ⇒ {F x|xX} of type set(setset)set.
Notation. We use x [possibly with ascriptions] , B as a binder notation corresponding to a term constructed using famunion.
Theorem. (famunionI)
∀X : set, ∀F : (setset), ∀x y : set, x Xy F xy xXF x
Proof:
Proof not loaded.
Theorem. (famunionE)
∀X : set, ∀F : (setset), ∀y : set, y (xXF x)∃xX, y F x
Proof:
Proof not loaded.
Theorem. (famunionE_impred)
∀X : set, ∀F : (setset), ∀y : set, y (xXF x)∀p : prop, (∀x, x Xy F xp)p
Proof:
Proof not loaded.
Theorem. (famunion_Empty)
∀F : setset, (xEmptyF x) = Empty
Proof:
Proof not loaded.
Theorem. (famunion_Subq)
∀X, ∀f g : setset, (∀xX, f x g x)famunion X f famunion X g
Proof:
Proof not loaded.
Theorem. (famunion_ext)
∀X, ∀f g : setset, (∀xX, f x = g x)famunion X f = famunion X g
Proof:
Proof not loaded.
Beginning of Section SepSec
Variable X : set
Variable P : setprop
Let z : setEps_i (λz ⇒ z X P z)
Let F : setsetλx ⇒ if P x then x else z
Definition. We define Sep to be if (∃zX, P z) then {F x|xX} else Empty of type set.
End of Section SepSec
Notation. {xA | B} is notation for Sep Ax . B).
Theorem. (SepI)
∀X : set, ∀P : (setprop), ∀x : set, x XP xx {xX|P x}
Proof:
Proof not loaded.
Theorem. (SepE)
∀X : set, ∀P : (setprop), ∀x : set, x {xX|P x}x X P x
Proof:
Proof not loaded.
Theorem. (SepE1)
∀X : set, ∀P : (setprop), ∀x : set, x {xX|P x}x X
Proof:
Proof not loaded.
Theorem. (SepE2)
∀X : set, ∀P : (setprop), ∀x : set, x {xX|P x}P x
Proof:
Proof not loaded.
Theorem. (Sep_Empty)
∀P : setprop, {xEmpty|P x} = Empty
Proof:
Proof not loaded.
Theorem. (Sep_Subq)
∀X : set, ∀P : setprop, {xX|P x} X
Proof:
Proof not loaded.
Theorem. (Sep_In_Power)
∀X : set, ∀P : setprop, {xX|P x} 𝒫 X
Proof:
Proof not loaded.
Definition. We define ReplSep to be λX P F ⇒ {F x|x{zX|P z}} of type set(setprop)(setset)set.
Notation. {B| xA, C} is notation for ReplSep Ax . C) (λ x . B).
Theorem. (ReplSepI)
∀X : set, ∀P : setprop, ∀F : setset, ∀x : set, x XP xF x {F x|xX, P x}
Proof:
Proof not loaded.
Theorem. (ReplSepE)
∀X : set, ∀P : setprop, ∀F : setset, ∀y : set, y {F x|xX, P x}∃x : set, x X P x y = F x
Proof:
Proof not loaded.
Theorem. (ReplSepE_impred)
∀X : set, ∀P : setprop, ∀F : setset, ∀y : set, y {F x|xX, P x}∀p : prop, (∀xX, P xy = F xp)p
Proof:
Proof not loaded.
Definition. We define binintersect to be λX Y ⇒ {xX|x Y} of type setsetset.
Notation. We use as an infix operator with priority 340 and which associates to the left corresponding to applying term binintersect.
Theorem. (binintersectI)
∀X Y z, z Xz Yz X Y
Proof:
Proof not loaded.
Theorem. (binintersectE)
∀X Y z, z X Yz X z Y
Proof:
Proof not loaded.
Theorem. (binintersectE1)
∀X Y z, z X Yz X
Proof:
Proof not loaded.
Theorem. (binintersectE2)
∀X Y z, z X Yz Y
Proof:
Proof not loaded.
Theorem. (binintersect_Subq_1)
∀X Y : set, X Y X
Proof:
Proof not loaded.
Theorem. (binintersect_Subq_2)
∀X Y : set, X Y Y
Proof:
Proof not loaded.
Theorem. (binintersect_Subq_eq_1)
∀X Y, X YX Y = X
Proof:
Proof not loaded.
Theorem. (binintersect_Subq_max)
∀X Y Z : set, Z XZ YZ X Y
Proof:
Proof not loaded.
Theorem. (binintersect_com_Subq)
∀X Y : set, X Y Y X
Proof:
Proof not loaded.
Theorem. (binintersect_com)
∀X Y : set, X Y = Y X
Proof:
Proof not loaded.
Definition. We define setminus to be λX Y ⇒ Sep X (λx ⇒ x Y) of type setsetset.
Notation. We use as an infix operator with priority 350 and no associativity corresponding to applying term setminus.
Theorem. (setminusI)
∀X Y z, (z X)(z Y)z X Y
Proof:
Proof not loaded.
Theorem. (setminusE)
∀X Y z, (z X Y)z X z Y
Proof:
Proof not loaded.
Theorem. (setminusE1)
∀X Y z, (z X Y)z X
Proof:
Proof not loaded.
Theorem. (setminusE2)
∀X Y z, (z X Y)z Y
Proof:
Proof not loaded.
Theorem. (setminus_Subq)
∀X Y : set, X Y X
Proof:
Proof not loaded.
Theorem. (setminus_Subq_contra)
∀X Y Z : set, Z YX Y X Z
Proof:
Proof not loaded.
Theorem. (setminus_In_Power)
∀A U, A U 𝒫 A
Proof:
Proof not loaded.
Theorem. (setminus_idr)
∀X, X Empty = X
Proof:
Proof not loaded.
Theorem. (In_irref)
∀x, x x
Proof:
Proof not loaded.
Theorem. (In_no2cycle)
∀x y, x yy xFalse
Proof:
Proof not loaded.
Definition. We define ordsucc to be λx : setx {x} of type setset.
Theorem. (ordsuccI1)
∀x : set, x ordsucc x
Proof:
Proof not loaded.
Theorem. (ordsuccI2)
∀x : set, x ordsucc x
Proof:
Proof not loaded.
Theorem. (ordsuccE)
∀x y : set, y ordsucc xy x y = x
Proof:
Proof not loaded.
Notation. Natural numbers 0,1,2,... are notation for the terms formed using Empty as 0 and forming successors with ordsucc.
Theorem. (neq_0_ordsucc)
∀a : set, 0 ordsucc a
Proof:
Proof not loaded.
Theorem. (neq_ordsucc_0)
∀a : set, ordsucc a 0
Proof:
Proof not loaded.
Theorem. (ordsucc_inj)
∀a b : set, ordsucc a = ordsucc ba = b
Proof:
Proof not loaded.
Theorem. (ordsucc_inj_contra)
∀a b : set, a bordsucc a ordsucc b
Proof:
Proof not loaded.
Theorem. (In_0_1)
Proof:
Proof not loaded.
Theorem. (In_0_2)
Proof:
Proof not loaded.
Theorem. (In_1_2)
Proof:
Proof not loaded.
Theorem. (In_1_3)
Proof:
Proof not loaded.
Theorem. (In_2_3)
Proof:
Proof not loaded.
Theorem. (In_1_4)
Proof:
Proof not loaded.
Theorem. (In_2_4)
Proof:
Proof not loaded.
Theorem. (In_3_4)
Proof:
Proof not loaded.
Theorem. (In_1_5)
Proof:
Proof not loaded.
Theorem. (In_2_5)
Proof:
Proof not loaded.
Theorem. (In_3_5)
Proof:
Proof not loaded.
Theorem. (In_4_5)
Proof:
Proof not loaded.
Theorem. (In_1_6)
Proof:
Proof not loaded.
Theorem. (In_1_7)
Proof:
Proof not loaded.
Theorem. (In_1_8)
Proof:
Proof not loaded.
Definition. We define nat_p to be λn : set∀p : setprop, p 0(∀x : set, p xp (ordsucc x))p n of type setprop.
Theorem. (nat_0)
Proof:
Proof not loaded.
Theorem. (nat_ordsucc)
∀n : set, nat_p nnat_p (ordsucc n)
Proof:
Proof not loaded.
Theorem. (nat_1)
Proof:
Proof not loaded.
Theorem. (nat_2)
Proof:
Proof not loaded.
Theorem. (nat_3)
Proof:
Proof not loaded.
Theorem. (nat_4)
Proof:
Proof not loaded.
Theorem. (nat_5)
Proof:
Proof not loaded.
Theorem. (nat_6)
Proof:
Proof not loaded.
Theorem. (nat_7)
Proof:
Proof not loaded.
Theorem. (nat_8)
Proof:
Proof not loaded.
Theorem. (nat_0_in_ordsucc)
∀n, nat_p n0 ordsucc n
Proof:
Proof not loaded.
Theorem. (nat_ordsucc_in_ordsucc)
∀n, nat_p n∀mn, ordsucc m ordsucc n
Proof:
Proof not loaded.
Theorem. (nat_ind)
∀p : setprop, p 0(∀n, nat_p np np (ordsucc n))∀n, nat_p np n
Proof:
Proof not loaded.
Theorem. (nat_inv_impred)
∀p : setprop, p 0(∀n, nat_p np (ordsucc n))∀n, nat_p np n
Proof:
Proof not loaded.
Theorem. (nat_inv)
∀n, nat_p nn = 0 ∃x, nat_p x n = ordsucc x
Proof:
Proof not loaded.
Theorem. (nat_complete_ind)
∀p : setprop, (∀n, nat_p n(∀mn, p m)p n)∀n, nat_p np n
Proof:
Proof not loaded.
Theorem. (nat_p_trans)
∀n, nat_p n∀mn, nat_p m
Proof:
Proof not loaded.
Theorem. (nat_trans)
∀n, nat_p n∀mn, m n
Proof:
Proof not loaded.
Theorem. (nat_ordsucc_trans)
∀n, nat_p n∀mordsucc n, m n
Proof:
Proof not loaded.
Theorem. (Union_ordsucc_eq)
∀n, nat_p n (ordsucc n) = n
Proof:
Proof not loaded.
Theorem. (cases_1)
∀i1, ∀p : setprop, p 0p i
Proof:
Proof not loaded.
Theorem. (cases_2)
∀i2, ∀p : setprop, p 0p 1p i
Proof:
Proof not loaded.
Theorem. (cases_3)
∀i3, ∀p : setprop, p 0p 1p 2p i
Proof:
Proof not loaded.
Theorem. (neq_0_1)
Proof:
Proof not loaded.
Theorem. (neq_1_0)
Proof:
Proof not loaded.
Theorem. (neq_0_2)
Proof:
Proof not loaded.
Theorem. (neq_2_0)
Proof:
Proof not loaded.
Theorem. (neq_1_2)
Proof:
Proof not loaded.
Theorem. (neq_1_3)
Proof:
Proof not loaded.
Theorem. (neq_2_3)
Proof:
Proof not loaded.
Theorem. (neq_2_4)
Proof:
Proof not loaded.
Theorem. (neq_3_4)
Proof:
Proof not loaded.
Theorem. (ZF_closed_E)
∀U, ZF_closed U∀p : prop, (Union_closed UPower_closed URepl_closed Up)p
Proof:
Proof not loaded.
Theorem. (ZF_Union_closed)
∀U, ZF_closed U∀XU, X U
Proof:
Proof not loaded.
Theorem. (ZF_Power_closed)
∀U, ZF_closed U∀XU, 𝒫 X U
Proof:
Proof not loaded.
Theorem. (ZF_Repl_closed)
∀U, ZF_closed U∀XU, ∀F : setset, (∀xX, F x U){F x|xX} U
Proof:
Proof not loaded.
Theorem. (ZF_UPair_closed)
∀U, ZF_closed U∀x yU, {x,y} U
Proof:
Proof not loaded.
Theorem. (ZF_Sing_closed)
∀U, ZF_closed U∀xU, {x} U
Proof:
Proof not loaded.
Theorem. (ZF_binunion_closed)
∀U, ZF_closed U∀X YU, (X Y) U
Proof:
Proof not loaded.
Theorem. (ZF_ordsucc_closed)
∀U, ZF_closed U∀xU, ordsucc x U
Proof:
Proof not loaded.
Theorem. (nat_p_UnivOf_Empty)
∀n : set, nat_p nn UnivOf Empty
Proof:
Proof not loaded.
Definition. We define ω to be {nUnivOf Empty|nat_p n} of type set.
Theorem. (omega_nat_p)
∀nω, nat_p n
Proof:
Proof not loaded.
Theorem. (nat_p_omega)
∀n : set, nat_p nn ω
Proof:
Proof not loaded.
Theorem. (omega_ordsucc)
Proof:
Proof not loaded.
Definition. We define ordinal to be λalpha : setTransSet alpha ∀betaalpha, TransSet beta of type setprop.
Theorem. (ordinal_TransSet)
∀alpha : set, ordinal alphaTransSet alpha
Proof:
Proof not loaded.
Theorem. (ordinal_Empty)
Proof:
Proof not loaded.
Theorem. (ordinal_Hered)
∀alpha : set, ordinal alpha∀betaalpha, ordinal beta
Proof:
Proof not loaded.
Theorem. (TransSet_ordsucc)
∀X : set, TransSet XTransSet (ordsucc X)
Proof:
Proof not loaded.
Theorem. (ordinal_ordsucc)
∀alpha : set, ordinal alphaordinal (ordsucc alpha)
Proof:
Proof not loaded.
Theorem. (nat_p_ordinal)
∀n : set, nat_p nordinal n
Proof:
Proof not loaded.
Theorem. (ordinal_1)
Proof:
Proof not loaded.
Theorem. (ordinal_2)
Proof:
Proof not loaded.
Theorem. (omega_TransSet)
Proof:
Proof not loaded.
Theorem. (omega_ordinal)
Proof:
Proof not loaded.
Theorem. (ordsucc_omega_ordinal)
Proof:
Proof not loaded.
Theorem. (TransSet_ordsucc_In_Subq)
∀X : set, TransSet X∀xX, ordsucc x X
Proof:
Proof not loaded.
Theorem. (ordinal_ordsucc_In_Subq)
∀alpha, ordinal alpha∀betaalpha, ordsucc beta alpha
Proof:
Proof not loaded.
Theorem. (ordinal_trichotomy_or)
∀alpha beta : set, ordinal alphaordinal betaalpha beta alpha = beta beta alpha
Proof:
Proof not loaded.
Theorem. (ordinal_trichotomy_or_impred)
∀alpha beta : set, ordinal alphaordinal beta∀p : prop, (alpha betap)(alpha = betap)(beta alphap)p
Proof:
Proof not loaded.
Theorem. (ordinal_In_Or_Subq)
∀alpha beta, ordinal alphaordinal betaalpha beta beta alpha
Proof:
Proof not loaded.
Theorem. (ordinal_linear)
∀alpha beta, ordinal alphaordinal betaalpha beta beta alpha
Proof:
Proof not loaded.
Theorem. (ordinal_ordsucc_In_eq)
∀alpha beta, ordinal alphabeta alphaordsucc beta alpha alpha = ordsucc beta
Proof:
Proof not loaded.
Theorem. (ordinal_lim_or_succ)
∀alpha, ordinal alpha(∀betaalpha, ordsucc beta alpha) (∃betaalpha, alpha = ordsucc beta)
Proof:
Proof not loaded.
Theorem. (ordinal_ordsucc_In)
∀alpha, ordinal alpha∀betaalpha, ordsucc beta ordsucc alpha
Proof:
Proof not loaded.
Theorem. (ordinal_famunion)
∀X, ∀F : setset, (∀xX, ordinal (F x))ordinal (xXF x)
Proof:
Proof not loaded.
Theorem. (ordinal_binintersect)
∀alpha beta, ordinal alphaordinal betaordinal (alpha beta)
Proof:
Proof not loaded.
Theorem. (ordinal_binunion)
∀alpha beta, ordinal alphaordinal betaordinal (alpha beta)
Proof:
Proof not loaded.
Theorem. (ordinal_ind)
∀p : setprop, (∀alpha, ordinal alpha(∀betaalpha, p beta)p alpha)∀alpha, ordinal alphap alpha
Proof:
Proof not loaded.
Theorem. (least_ordinal_ex)
∀p : setprop, (∃alpha, ordinal alpha p alpha)∃alpha, ordinal alpha p alpha ∀betaalpha, ¬ p beta
Proof:
Proof not loaded.
Definition. We define inj to be λX Y f ⇒ (∀uX, f u Y) (∀u vX, f u = f vu = v) of type setset(setset)prop.
Definition. We define bij to be λX Y f ⇒ (∀uX, f u Y) (∀u vX, f u = f vu = v) (∀wY, ∃uX, f u = w) of type setset(setset)prop.
Theorem. (bijI)
∀X Y, ∀f : setset, (∀uX, f u Y)(∀u vX, f u = f vu = v)(∀wY, ∃uX, f u = w)bij X Y f
Proof:
Proof not loaded.
Theorem. (bijE)
∀X Y, ∀f : setset, bij X Y f∀p : prop, ((∀uX, f u Y)(∀u vX, f u = f vu = v)(∀wY, ∃uX, f u = w)p)p
Proof:
Proof not loaded.
Definition. We define inv to be λX f ⇒ λy : setEps_i (λx ⇒ x X f x = y) of type set(setset)setset.
Theorem. (surj_rinv)
∀X Y, ∀f : setset, (∀wY, ∃uX, f u = w)∀yY, inv X f y X f (inv X f y) = y
Proof:
Proof not loaded.
Theorem. (inj_linv)
∀X, ∀f : setset, (∀u vX, f u = f vu = v)∀xX, inv X f (f x) = x
Proof:
Proof not loaded.
Theorem. (bij_inv)
∀X Y, ∀f : setset, bij X Y fbij Y X (inv X f)
Proof:
Proof not loaded.
Theorem. (bij_id)
∀X, bij X X (λx ⇒ x)
Proof:
Proof not loaded.
Theorem. (bij_comp)
∀X Y Z : set, ∀f g : setset, bij X Y fbij Y Z gbij X Z (λx ⇒ g (f x))
Proof:
Proof not loaded.
Definition. We define equip to be λX Y : set∃f : setset, bij X Y f of type setsetprop.
Theorem. (equip_ref)
∀X, equip X X
Proof:
Proof not loaded.
Theorem. (equip_sym)
∀X Y, equip X Yequip Y X
Proof:
Proof not loaded.
Theorem. (equip_tra)
∀X Y Z, equip X Yequip Y Zequip X Z
Proof:
Proof not loaded.
Theorem. (equip_0_Empty)
∀X, equip X 0X = 0
Proof:
Proof not loaded.
Beginning of Section SchroederBernstein
Theorem. (KnasterTarski_set)
∀A, ∀F : setset, (∀U𝒫 A, F U 𝒫 A)(∀U V𝒫 A, U VF U F V)∃Y𝒫 A, F Y = Y
Proof:
Proof not loaded.
Theorem. (image_In_Power)
∀A B, ∀f : setset, (∀xA, f x B)∀U𝒫 A, {f x|xU} 𝒫 B
Proof:
Proof not loaded.
Theorem. (image_monotone)
∀f : setset, ∀U V, U V{f x|xU} {f x|xV}
Proof:
Proof not loaded.
Theorem. (setminus_antimonotone)
∀A U V, U VA V A U
Proof:
Proof not loaded.
Theorem. (SchroederBernstein)
∀A B, ∀f g : setset, inj A B finj B A gequip A B
Proof:
Proof not loaded.
End of Section SchroederBernstein
Beginning of Section PigeonHole
Theorem. (PigeonHole_nat)
∀n, nat_p n∀f : setset, (∀iordsucc n, f i n)¬ (∀i jordsucc n, f i = f ji = j)
Proof:
Proof not loaded.
Theorem. (PigeonHole_nat_bij)
∀n, nat_p n∀f : setset, (∀in, f i n)(∀i jn, f i = f ji = j)bij n n f
Proof:
Proof not loaded.
End of Section PigeonHole
Definition. We define finite to be λX ⇒ ∃nω, equip X n of type setprop.
Theorem. (finite_ind)
∀p : setprop, p Empty(∀X y, finite Xy Xp Xp (X {y}))∀X, finite Xp X
Proof:
Proof not loaded.
Theorem. (finite_Empty)
Proof:
Proof not loaded.
Theorem. (adjoin_finite)
∀X y, finite Xfinite (X {y})
Proof:
Proof not loaded.
Theorem. (binunion_finite)
∀X, finite X∀Y, finite Yfinite (X Y)
Proof:
Proof not loaded.
Theorem. (famunion_nat_finite)
∀X : setset, ∀n, nat_p n(∀in, finite (X i))finite (inX i)
Proof:
Proof not loaded.
Theorem. (Subq_finite)
∀X, finite X∀Y, Y Xfinite Y
Proof:
Proof not loaded.
Theorem. (TransSet_In_ordsucc_Subq)
∀x y, TransSet yx ordsucc yx y
Proof:
Proof not loaded.
Theorem. (exandE_i)
∀P Q : setprop, (∃x, P x Q x)∀r : prop, (∀x, P xQ xr)r
Proof:
Proof not loaded.
Theorem. (exandE_ii)
∀P Q : (setset)prop, (∃x : setset, P x Q x)∀p : prop, (∀x : setset, P xQ xp)p
Proof:
Proof not loaded.
Theorem. (exandE_iii)
∀P Q : (setsetset)prop, (∃x : setsetset, P x Q x)∀p : prop, (∀x : setsetset, P xQ xp)p
Proof:
Proof not loaded.
Theorem. (exandE_iiii)
∀P Q : (setsetsetset)prop, (∃x : setsetsetset, P x Q x)∀p : prop, (∀x : setsetsetset, P xQ xp)p
Proof:
Proof not loaded.
Beginning of Section Descr_ii
Variable P : (setset)prop
Definition. We define Descr_ii to be λx : setEps_i (λy ⇒ ∀h : setset, P hh x = y) of type setset.
Hypothesis Pex : ∃f : setset, P f
Hypothesis Puniq : ∀f g : setset, P fP gf = g
Theorem. (Descr_ii_prop)
Proof:
Proof not loaded.
End of Section Descr_ii
Beginning of Section Descr_iii
Variable P : (setsetset)prop
Definition. We define Descr_iii to be λx y : setEps_i (λz ⇒ ∀h : setsetset, P hh x y = z) of type setsetset.
Hypothesis Pex : ∃f : setsetset, P f
Hypothesis Puniq : ∀f g : setsetset, P fP gf = g
Proof:
Proof not loaded.
End of Section Descr_iii
Beginning of Section Descr_Vo1
Variable P : Vo 1prop
Definition. We define Descr_Vo1 to be λx : set∀h : setprop, P hh x of type Vo 1.
Hypothesis Pex : ∃f : Vo 1, P f
Hypothesis Puniq : ∀f g : Vo 1, P fP gf = g
Proof:
Proof not loaded.
End of Section Descr_Vo1
Beginning of Section If_ii
Variable p : prop
Variable f g : setset
Definition. We define If_ii to be λx ⇒ if p then f x else g x of type setset.
Theorem. (If_ii_1)
pIf_ii = f
Proof:
Proof not loaded.
Theorem. (If_ii_0)
¬ pIf_ii = g
Proof:
Proof not loaded.
End of Section If_ii
Beginning of Section If_iii
Variable p : prop
Variable f g : setsetset
Definition. We define If_iii to be λx y ⇒ if p then f x y else g x y of type setsetset.
Theorem. (If_iii_1)
pIf_iii = f
Proof:
Proof not loaded.
Theorem. (If_iii_0)
¬ pIf_iii = g
Proof:
Proof not loaded.
End of Section If_iii
Beginning of Section EpsilonRec_i
Variable F : set(setset)set
Definition. We define In_rec_i_G to be λX Y ⇒ ∀R : setsetprop, (∀X : set, ∀f : setset, (∀xX, R x (f x))R X (F X f))R X Y of type setsetprop.
Definition. We define In_rec_i to be λX ⇒ Eps_i (In_rec_i_G X) of type setset.
Theorem. (In_rec_i_G_c)
∀X : set, ∀f : setset, (∀xX, In_rec_i_G x (f x))In_rec_i_G X (F X f)
Proof:
Proof not loaded.
Theorem. (In_rec_i_G_inv)
∀X : set, ∀Y : set, In_rec_i_G X Y∃f : setset, (∀xX, In_rec_i_G x (f x)) Y = F X f
Proof:
Proof not loaded.
Hypothesis Fr : ∀X : set, ∀g h : setset, (∀xX, g x = h x)F X g = F X h
Theorem. (In_rec_i_G_f)
∀X : set, ∀Y Z : set, In_rec_i_G X YIn_rec_i_G X ZY = Z
Proof:
Proof not loaded.
Theorem. (In_rec_i_G_In_rec_i)
∀X : set, In_rec_i_G X (In_rec_i X)
Proof:
Proof not loaded.
Theorem. (In_rec_i_G_In_rec_i_d)
∀X : set, In_rec_i_G X (F X In_rec_i)
Proof:
Proof not loaded.
Theorem. (In_rec_i_eq)
∀X : set, In_rec_i X = F X In_rec_i
Proof:
Proof not loaded.
End of Section EpsilonRec_i
Beginning of Section EpsilonRec_ii
Variable F : set(set(setset))(setset)
Definition. We define In_rec_G_ii to be λX Y ⇒ ∀R : set(setset)prop, (∀X : set, ∀f : set(setset), (∀xX, R x (f x))R X (F X f))R X Y of type set(setset)prop.
Definition. We define In_rec_ii to be λX ⇒ Descr_ii (In_rec_G_ii X) of type set(setset).
Theorem. (In_rec_G_ii_c)
∀X : set, ∀f : set(setset), (∀xX, In_rec_G_ii x (f x))In_rec_G_ii X (F X f)
Proof:
Proof not loaded.
Theorem. (In_rec_G_ii_inv)
∀X : set, ∀Y : (setset), In_rec_G_ii X Y∃f : set(setset), (∀xX, In_rec_G_ii x (f x)) Y = F X f
Proof:
Proof not loaded.
Hypothesis Fr : ∀X : set, ∀g h : set(setset), (∀xX, g x = h x)F X g = F X h
Theorem. (In_rec_G_ii_f)
∀X : set, ∀Y Z : (setset), In_rec_G_ii X YIn_rec_G_ii X ZY = Z
Proof:
Proof not loaded.
Theorem. (In_rec_G_ii_In_rec_ii)
∀X : set, In_rec_G_ii X (In_rec_ii X)
Proof:
Proof not loaded.
Theorem. (In_rec_G_ii_In_rec_ii_d)
∀X : set, In_rec_G_ii X (F X In_rec_ii)
Proof:
Proof not loaded.
Theorem. (In_rec_ii_eq)
∀X : set, In_rec_ii X = F X In_rec_ii
Proof:
Proof not loaded.
End of Section EpsilonRec_ii
Beginning of Section EpsilonRec_iii
Variable F : set(set(setsetset))(setsetset)
Definition. We define In_rec_G_iii to be λX Y ⇒ ∀R : set(setsetset)prop, (∀X : set, ∀f : set(setsetset), (∀xX, R x (f x))R X (F X f))R X Y of type set(setsetset)prop.
Definition. We define In_rec_iii to be λX ⇒ Descr_iii (In_rec_G_iii X) of type set(setsetset).
Theorem. (In_rec_G_iii_c)
∀X : set, ∀f : set(setsetset), (∀xX, In_rec_G_iii x (f x))In_rec_G_iii X (F X f)
Proof:
Proof not loaded.
Theorem. (In_rec_G_iii_inv)
∀X : set, ∀Y : (setsetset), In_rec_G_iii X Y∃f : set(setsetset), (∀xX, In_rec_G_iii x (f x)) Y = F X f
Proof:
Proof not loaded.
Hypothesis Fr : ∀X : set, ∀g h : set(setsetset), (∀xX, g x = h x)F X g = F X h
Theorem. (In_rec_G_iii_f)
∀X : set, ∀Y Z : (setsetset), In_rec_G_iii X YIn_rec_G_iii X ZY = Z
Proof:
Proof not loaded.
Theorem. (In_rec_G_iii_In_rec_iii)
∀X : set, In_rec_G_iii X (In_rec_iii X)
Proof:
Proof not loaded.
Theorem. (In_rec_G_iii_In_rec_iii_d)
∀X : set, In_rec_G_iii X (F X In_rec_iii)
Proof:
Proof not loaded.
Theorem. (In_rec_iii_eq)
∀X : set, In_rec_iii X = F X In_rec_iii
Proof:
Proof not loaded.
End of Section EpsilonRec_iii
Beginning of Section NatRec
Variable z : set
Variable f : setsetset
Let F : set(setset)setλn g ⇒ if n n then f ( n) (g ( n)) else z
Definition. We define nat_primrec to be In_rec_i F of type setset.
Theorem. (nat_primrec_r)
∀X : set, ∀g h : setset, (∀xX, g x = h x)F X g = F X h
Proof:
Proof not loaded.
Proof:
Proof not loaded.
Theorem. (nat_primrec_S)
∀n : set, nat_p nnat_primrec (ordsucc n) = f n (nat_primrec n)
Proof:
Proof not loaded.
End of Section NatRec
Beginning of Section NatArith
Definition. We define add_nat to be λn m : setnat_primrec n (λ_ r ⇒ ordsucc r) m of type setsetset.
Notation. We use + as an infix operator with priority 360 and which associates to the right corresponding to applying term add_nat.
Theorem. (add_nat_0R)
∀n : set, n + 0 = n
Proof:
Proof not loaded.
Theorem. (add_nat_SR)
∀n m : set, nat_p mn + ordsucc m = ordsucc (n + m)
Proof:
Proof not loaded.
Theorem. (add_nat_p)
∀n : set, nat_p n∀m : set, nat_p mnat_p (n + m)
Proof:
Proof not loaded.
Theorem. (add_nat_1_1_2)
1 + 1 = 2
Proof:
Proof not loaded.
Theorem. (add_nat_0L)
∀m : set, nat_p m0 + m = m
Proof:
Proof not loaded.
Theorem. (add_nat_SL)
∀n : set, nat_p n∀m : set, nat_p mordsucc n + m = ordsucc (n + m)
Proof:
Proof not loaded.
Theorem. (add_nat_com)
∀n : set, nat_p n∀m : set, nat_p mn + m = m + n
Proof:
Proof not loaded.
Theorem. (nat_Subq_add_ex)
∀n, nat_p n∀m, nat_p mn m∃k, nat_p k m = k + n
Proof:
Proof not loaded.
Definition. We define mul_nat to be λn m : setnat_primrec 0 (λ_ r ⇒ n + r) m of type setsetset.
Notation. We use * as an infix operator with priority 355 and which associates to the right corresponding to applying term mul_nat.
Theorem. (mul_nat_0R)
∀n : set, n * 0 = 0
Proof:
Proof not loaded.
Theorem. (mul_nat_SR)
∀n m : set, nat_p mn * ordsucc m = n + n * m
Proof:
Proof not loaded.
Theorem. (mul_nat_p)
∀n : set, nat_p n∀m : set, nat_p mnat_p (n * m)
Proof:
Proof not loaded.
End of Section NatArith
Definition. We define Inj1 to be In_rec_i (λX f ⇒ {0} {f x|xX}) of type setset.
Theorem. (Inj1_eq)
∀X : set, Inj1 X = {0} {Inj1 x|xX}
Proof:
Proof not loaded.
Theorem. (Inj1I1)
∀X : set, 0 Inj1 X
Proof:
Proof not loaded.
Theorem. (Inj1I2)
∀X x : set, x XInj1 x Inj1 X
Proof:
Proof not loaded.
Theorem. (Inj1E)
∀X y : set, y Inj1 Xy = 0 ∃xX, y = Inj1 x
Proof:
Proof not loaded.
Theorem. (Inj1NE1)
∀x : set, Inj1 x 0
Proof:
Proof not loaded.
Theorem. (Inj1NE2)
∀x : set, Inj1 x {0}
Proof:
Proof not loaded.
Definition. We define Inj0 to be λX ⇒ {Inj1 x|xX} of type setset.
Theorem. (Inj0I)
∀X x : set, x XInj1 x Inj0 X
Proof:
Proof not loaded.
Theorem. (Inj0E)
∀X y : set, y Inj0 X∃x : set, x X y = Inj1 x
Proof:
Proof not loaded.
Definition. We define Unj to be In_rec_i (λX f ⇒ {f x|xX {0}}) of type setset.
Theorem. (Unj_eq)
∀X : set, Unj X = {Unj x|xX {0}}
Proof:
Proof not loaded.
Theorem. (Unj_Inj1_eq)
∀X : set, Unj (Inj1 X) = X
Proof:
Proof not loaded.
Theorem. (Inj1_inj)
∀X Y : set, Inj1 X = Inj1 YX = Y
Proof:
Proof not loaded.
Theorem. (Unj_Inj0_eq)
∀X : set, Unj (Inj0 X) = X
Proof:
Proof not loaded.
Theorem. (Inj0_inj)
∀X Y : set, Inj0 X = Inj0 YX = Y
Proof:
Proof not loaded.
Theorem. (Inj0_0)
Proof:
Proof not loaded.
Theorem. (Inj0_Inj1_neq)
∀X Y : set, Inj0 X Inj1 Y
Proof:
Proof not loaded.
Definition. We define setsum to be λX Y ⇒ {Inj0 x|xX} {Inj1 y|yY} of type setsetset.
Notation. We use + as an infix operator with priority 450 and which associates to the left corresponding to applying term setsum.
Theorem. (Inj0_setsum)
∀X Y x : set, x XInj0 x X + Y
Proof:
Proof not loaded.
Theorem. (Inj1_setsum)
∀X Y y : set, y YInj1 y X + Y
Proof:
Proof not loaded.
Theorem. (setsum_Inj_inv)
∀X Y z : set, z X + Y(∃xX, z = Inj0 x) (∃yY, z = Inj1 y)
Proof:
Proof not loaded.
Theorem. (Inj0_setsum_0L)
∀X : set, 0 + X = Inj0 X
Proof:
Proof not loaded.
Theorem. (Subq_1_Sing0)
Proof:
Proof not loaded.
Theorem. (Subq_Sing0_1)
Proof:
Proof not loaded.
Theorem. (eq_1_Sing0)
Proof:
Proof not loaded.
Theorem. (Inj1_setsum_1L)
∀X : set, 1 + X = Inj1 X
Proof:
Proof not loaded.
Theorem. (nat_setsum1_ordsucc)
∀n : set, nat_p n1 + n = ordsucc n
Proof:
Proof not loaded.
Theorem. (setsum_0_0)
0 + 0 = 0
Proof:
Proof not loaded.
Theorem. (setsum_1_0_1)
1 + 0 = 1
Proof:
Proof not loaded.
Theorem. (setsum_1_1_2)
1 + 1 = 2
Proof:
Proof not loaded.
Beginning of Section pair_setsum
Let pair ≝ setsum
Definition. We define proj0 to be λZ ⇒ {Unj z|zZ, ∃x : set, Inj0 x = z} of type setset.
Definition. We define proj1 to be λZ ⇒ {Unj z|zZ, ∃y : set, Inj1 y = z} of type setset.
Theorem. (Inj0_pair_0_eq)
Inj0 = pair 0
Proof:
Proof not loaded.
Theorem. (Inj1_pair_1_eq)
Inj1 = pair 1
Proof:
Proof not loaded.
Theorem. (pairI0)
∀X Y x, x Xpair 0 x pair X Y
Proof:
Proof not loaded.
Theorem. (pairI1)
∀X Y y, y Ypair 1 y pair X Y
Proof:
Proof not loaded.
Theorem. (pairE)
∀X Y z, z pair X Y(∃xX, z = pair 0 x) (∃yY, z = pair 1 y)
Proof:
Proof not loaded.
Theorem. (pairE0)
∀X Y x, pair 0 x pair X Yx X
Proof:
Proof not loaded.
Theorem. (pairE1)
∀X Y y, pair 1 y pair X Yy Y
Proof:
Proof not loaded.
Theorem. (proj0I)
∀w u : set, pair 0 u wu proj0 w
Proof:
Proof not loaded.
Theorem. (proj0E)
∀w u : set, u proj0 wpair 0 u w
Proof:
Proof not loaded.
Theorem. (proj1I)
∀w u : set, pair 1 u wu proj1 w
Proof:
Proof not loaded.
Theorem. (proj1E)
∀w u : set, u proj1 wpair 1 u w
Proof:
Proof not loaded.
Theorem. (proj0_pair_eq)
∀X Y : set, proj0 (pair X Y) = X
Proof:
Proof not loaded.
Theorem. (proj1_pair_eq)
∀X Y : set, proj1 (pair X Y) = Y
Proof:
Proof not loaded.
Definition. We define Sigma to be λX Y ⇒ xX{pair x y|yY x} of type set(setset)set.
Notation. We use x...y [possibly with ascriptions] , B as a binder notation corresponding to a term constructed using Sigma.
Theorem. (pair_Sigma)
∀X : set, ∀Y : setset, ∀xX, ∀yY x, pair x y xX, Y x
Proof:
Proof not loaded.
Theorem. (Sigma_eta_proj0_proj1)
∀X : set, ∀Y : setset, ∀z(xX, Y x), pair (proj0 z) (proj1 z) = z proj0 z X proj1 z Y (proj0 z)
Proof:
Proof not loaded.
Theorem. (proj_Sigma_eta)
∀X : set, ∀Y : setset, ∀z(xX, Y x), pair (proj0 z) (proj1 z) = z
Proof:
Proof not loaded.
Theorem. (proj0_Sigma)
∀X : set, ∀Y : setset, ∀z : set, z (xX, Y x)proj0 z X
Proof:
Proof not loaded.
Theorem. (proj1_Sigma)
∀X : set, ∀Y : setset, ∀z : set, z (xX, Y x)proj1 z Y (proj0 z)
Proof:
Proof not loaded.
Theorem. (pair_Sigma_E1)
∀X : set, ∀Y : setset, ∀x y : set, pair x y (xX, Y x)y Y x
Proof:
Proof not loaded.
Theorem. (Sigma_E)
∀X : set, ∀Y : setset, ∀z : set, z (xX, Y x)∃xX, ∃yY x, z = pair x y
Proof:
Proof not loaded.
Definition. We define setprod to be λX Y : setxX, Y of type setsetset.
Notation. We use as an infix operator with priority 440 and which associates to the left corresponding to applying term setprod.
Let lam : set(setset)setSigma
Definition. We define ap to be λf x ⇒ {proj1 z|zf, ∃y : set, z = pair x y} of type setsetset.
Notation. When x is a set, a term x y is notation for ap x y.
Notation. λ xAB is notation for the set Sigma Ax : set ⇒ B).
Notation. We now use n-tuple notation (a0,...,an-1) for n ≥ 2 for λ i ∈ n . if i = 0 then a0 else ... if i = n-2 then an-2 else an-1.
Theorem. (lamI)
∀X : set, ∀F : setset, ∀xX, ∀yF x, pair x y λxXF x
Proof:
Proof not loaded.
Theorem. (lamE)
∀X : set, ∀F : setset, ∀z : set, z (λxXF x)∃xX, ∃yF x, z = pair x y
Proof:
Proof not loaded.
Theorem. (apI)
∀f x y, pair x y fy f x
Proof:
Proof not loaded.
Theorem. (apE)
∀f x y, y f xpair x y f
Proof:
Proof not loaded.
Theorem. (beta)
∀X : set, ∀F : setset, ∀x : set, x X(λxXF x) x = F x
Proof:
Proof not loaded.
Theorem. (proj0_ap_0)
∀u, proj0 u = u 0
Proof:
Proof not loaded.
Theorem. (proj1_ap_1)
∀u, proj1 u = u 1
Proof:
Proof not loaded.
Theorem. (pair_ap_0)
∀x y : set, (pair x y) 0 = x
Proof:
Proof not loaded.
Theorem. (pair_ap_1)
∀x y : set, (pair x y) 1 = y
Proof:
Proof not loaded.
Theorem. (ap0_Sigma)
∀X : set, ∀Y : setset, ∀z : set, z (xX, Y x)(z 0) X
Proof:
Proof not loaded.
Theorem. (ap1_Sigma)
∀X : set, ∀Y : setset, ∀z : set, z (xX, Y x)(z 1) (Y (z 0))
Proof:
Proof not loaded.
Definition. We define pair_p to be λu : setpair (u 0) (u 1) = u of type setprop.
Theorem. (pair_p_I)
∀x y, pair_p (pair x y)
Proof:
Proof not loaded.
Proof:
Proof not loaded.
Theorem. (tuple_pair)
∀x y : set, pair x y = (x,y)
Proof:
Proof not loaded.
Definition. We define Pi to be λX Y ⇒ {f𝒫 (xX, (Y x))|∀xX, f x Y x} of type set(setset)set.
Notation. We use x...y [possibly with ascriptions] , B as a binder notation corresponding to a term constructed using Pi.
Theorem. (PiI)
∀X : set, ∀Y : setset, ∀f : set, (∀uf, pair_p u u 0 X)(∀xX, f x Y x)f xX, Y x
Proof:
Proof not loaded.
Theorem. (lam_Pi)
∀X : set, ∀Y : setset, ∀F : setset, (∀xX, F x Y x)(λxXF x) (xX, Y x)
Proof:
Proof not loaded.
Theorem. (ap_Pi)
∀X : set, ∀Y : setset, ∀f : set, ∀x : set, f (xX, Y x)x Xf x Y x
Proof:
Proof not loaded.
Definition. We define setexp to be λX Y : setyY, X of type setsetset.
Notation. We use :^: as an infix operator with priority 430 and which associates to the left corresponding to applying term setexp.
Theorem. (pair_tuple_fun)
pair = (λx y ⇒ (x,y))
Proof:
Proof not loaded.
Theorem. (lamI2)
∀X, ∀F : setset, ∀xX, ∀yF x, (x,y) λxXF x
Proof:
Proof not loaded.
Beginning of Section Tuples
Variable x0 x1 : set
Theorem. (tuple_2_0_eq)
(x0,x1) 0 = x0
Proof:
Proof not loaded.
Theorem. (tuple_2_1_eq)
(x0,x1) 1 = x1
Proof:
Proof not loaded.
End of Section Tuples
Theorem. (ReplEq_setprod_ext)
∀X Y, ∀F G : setsetset, (∀xX, ∀yY, F x y = G x y){F (w 0) (w 1)|wX Y} = {G (w 0) (w 1)|wX Y}
Proof:
Proof not loaded.
Theorem. (tuple_2_Sigma)
∀X : set, ∀Y : setset, ∀xX, ∀yY x, (x,y) xX, Y x
Proof:
Proof not loaded.
Theorem. (tuple_2_setprod)
∀X : set, ∀Y : set, ∀xX, ∀yY, (x,y) X Y
Proof:
Proof not loaded.
End of Section pair_setsum