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. (andI)
∀A B : prop, ABA B
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.
Theorem. (iffI)
∀A B : prop, (AB)(BA)(A B)
Proof:
Proof not loaded.
Theorem. (pred_ext)
∀P Q : setprop, (∀x, P x Q x)P = Q
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. (EmptyE)
∀x : set, x Empty
Proof:
Proof not loaded.
Theorem. (PowerI)
∀X Y : set, Y XY 𝒫 X
Proof:
Proof not loaded.
Theorem. (Subq_Empty)
∀X : set, Empty X
Proof:
Proof not loaded.
Theorem. (Empty_In_Power)
∀X : set, Empty 𝒫 X
Proof:
Proof not loaded.
Theorem. (xm)
∀P : prop, P ¬ P
Proof:
Proof not loaded.
Theorem. (FalseE)
False∀p : prop, p
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.
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.
Variable P6 : prop
Theorem. (and6I)
P1P2P3P4P5P6P1 P2 P3 P4 P5 P6
Proof:
Proof not loaded.
Variable P7 : prop
Theorem. (and7I)
P1P2P3P4P5P6P7P1 P2 P3 P4 P5 P6 P7
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. (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. (neq_i_sym)
∀x y, x yy x
Proof:
Proof not loaded.
Theorem. (Eps_i_ex)
∀P : setprop, (∃x, P x)P (Eps_i P)
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. (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. (PowerE)
∀X Y : set, Y 𝒫 XY X
Proof:
Proof not loaded.
Theorem. (Self_In_Power)
∀X : set, X 𝒫 X
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.
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_In_Power)
∀A U, A U 𝒫 A
Proof:
Proof not loaded.
Theorem. (binunion_remove1_eq)
∀X, ∀xX, X = (X {x}) {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. (In_0_1)
Proof:
Proof not loaded.
Theorem. (In_0_2)
Proof:
Proof not loaded.
Theorem. (In_1_2)
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_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_complete_ind)
∀p : setprop, (∀n, nat_p n(∀mn, p m)p 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_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.
Definition. We define surj to be λX Y f ⇒ (∀uX, f u Y) (∀wY, ∃uX, f u = w) of type setset(setset)prop.
Theorem. (form100_63_surjCantor)
∀A : set, ∀f : setset, ¬ surj A (𝒫 A) f
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.
Theorem. (form100_63_injCantor)
∀A : set, ∀f : setset, ¬ inj (𝒫 A) A f
Proof:
Proof not loaded.
Theorem. (injI)
∀X Y, ∀f : setset, (∀xX, f x Y)(∀x zX, f x = f zx = z)inj X Y f
Proof:
Proof not loaded.
Theorem. (inj_comp)
∀X Y Z : set, ∀f g : setset, inj X Y finj Y Z ginj X Z (λx ⇒ g (f x))
Proof:
Proof not loaded.
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.
Theorem. (bij_inj)
∀X Y, ∀f : setset, bij X Y finj X Y 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.
Theorem. (bij_surj)
∀X Y, ∀f : setset, bij X Y fsurj X Y f
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.
Definition. We define atleastp to be λX Y : set∃f : setset, inj X Y f of type setsetprop.
Theorem. (atleastp_tra)
∀X Y Z, atleastp X Yatleastp Y Zatleastp X Z
Proof:
Proof not loaded.
Theorem. (Subq_atleastp)
∀X Y, X Yatleastp X Y
Proof:
Proof not loaded.
Definition. We define equip to be λX Y : set∃f : setset, bij X Y f of type setsetprop.
Theorem. (equip_atleastp)
∀X Y, equip X Yatleastp X Y
Proof:
Proof not loaded.
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.
Theorem. (equip_adjoin_ordsucc)
∀N X y, y Xequip N Xequip (ordsucc N) (X {y})
Proof:
Proof not loaded.
Theorem. (equip_ordsucc_remove1)
∀X N, ∀xX, equip X (ordsucc N)equip (X {x}) N
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.
Theorem. (atleastp_antisym_equip)
∀A B, atleastp A Batleastp B Aequip 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.
Proof:
Proof not loaded.
End of Section PigeonHole
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. (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.
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. (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.
Theorem. (equip_Sing_1)
∀x, equip {x} 1
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 NatAdd
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_asso)
∀n : set, nat_p n∀m : set, nat_p m∀k : set, nat_p k(n + m) + k = n + (m + k)
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. (add_nat_In_R)
∀m, nat_p m∀km, ∀n, nat_p nk + n m + n
Proof:
Proof not loaded.
Theorem. (add_nat_In_L)
∀n, nat_p n∀m, nat_p m∀km, n + k n + m
Proof:
Proof not loaded.
Theorem. (add_nat_Subq_R)
∀k, nat_p k∀m, nat_p mk m∀n, nat_p nk + n m + n
Proof:
Proof not loaded.
Theorem. (add_nat_Subq_L)
∀n, nat_p n∀k, nat_p k∀m, nat_p mk mn + k n + m
Proof:
Proof not loaded.
Theorem. (add_nat_Subq_R')
∀m, nat_p m∀n, nat_p nm 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.
Theorem. (add_nat_cancel_R)
∀k, nat_p k∀m, nat_p m∀n, nat_p nk + n = m + nk = m
Proof:
Proof not loaded.
End of Section NatAdd
Beginning of Section NatMul
Notation. We use + as an infix operator with priority 360 and which associates to the right corresponding to applying term add_nat.
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, nat_p mn * ordsucc m = n + n * m
Proof:
Proof not loaded.
Theorem. (mul_nat_1R)
∀n, n * 1 = n
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.
Theorem. (mul_nat_0L)
∀m : set, nat_p m0 * m = 0
Proof:
Proof not loaded.
Theorem. (mul_nat_SL)
∀n : set, nat_p n∀m : set, nat_p mordsucc n * m = n * m + m
Proof:
Proof not loaded.
Theorem. (mul_nat_com)
∀n : set, nat_p n∀m : set, nat_p mn * m = m * n
Proof:
Proof not loaded.
Theorem. (mul_add_nat_distrL)
∀n : set, nat_p n∀m : set, nat_p m∀k : set, nat_p kn * (m + k) = n * m + n * k
Proof:
Proof not loaded.
Theorem. (mul_nat_asso)
∀n : set, nat_p n∀m : set, nat_p m∀k : set, nat_p k(n * m) * k = n * (m * k)
Proof:
Proof not loaded.
Theorem. (mul_nat_Subq_R)
∀m n, nat_p mnat_p nm n∀k, nat_p km * k n * k
Proof:
Proof not loaded.
Theorem. (mul_nat_Subq_L)
∀m n, nat_p mnat_p nm n∀k, nat_p kk * m k * n
Proof:
Proof not loaded.
Theorem. (mul_nat_0_or_Subq)
∀m, nat_p m∀n, nat_p nn = 0 m m * n
Proof:
Proof not loaded.
Theorem. (mul_nat_0_inv)
∀m, nat_p m∀n, nat_p nm * n = 0m = 0 n = 0
Proof:
Proof not loaded.
Theorem. (mul_nat_0m_1n_In)
∀m, nat_p m∀n, nat_p n0 m1 nm m * n
Proof:
Proof not loaded.
Theorem. (nat_le1_cases)
∀m, nat_p mm 1m = 0 m = 1
Proof:
Proof not loaded.
Definition. We define Pi_nat to be λf n ⇒ nat_primrec 1 (λi r ⇒ r * f i) n of type (setset)setset.
Theorem. (Pi_nat_0)
∀f : setset, Pi_nat f 0 = 1
Proof:
Proof not loaded.
Theorem. (Pi_nat_S)
∀f : setset, ∀n, nat_p nPi_nat f (ordsucc n) = Pi_nat f n * f n
Proof:
Proof not loaded.
Theorem. (Pi_nat_p)
∀f : setset, ∀n, nat_p n(∀in, nat_p (f i))nat_p (Pi_nat f n)
Proof:
Proof not loaded.
Theorem. (Pi_nat_0_inv)
∀f : setset, ∀n, nat_p n(∀in, nat_p (f i))Pi_nat f n = 0(∃in, f i = 0)
Proof:
Proof not loaded.
Definition. We define exp_nat to be λn m : setnat_primrec 1 (λ_ r ⇒ n * r) m of type setsetset.
Notation. We use ^ as an infix operator with priority 342 and which associates to the right corresponding to applying term exp_nat.
Theorem. (exp_nat_0)
∀n, n ^ 0 = 1
Proof:
Proof not loaded.
Theorem. (exp_nat_S)
∀n m, nat_p mn ^ (ordsucc m) = n * n ^ m
Proof:
Proof not loaded.
Theorem. (exp_nat_p)
∀n, nat_p n∀m, nat_p mnat_p (n ^ m)
Proof:
Proof not loaded.
Theorem. (exp_nat_1)
∀n, n ^ 1 = n
Proof:
Proof not loaded.
End of Section NatMul
Beginning of Section form100_52
Notation. We use + as an infix operator with priority 360 and which associates to the right corresponding to applying term add_nat.
Notation. We use * as an infix operator with priority 355 and which associates to the right corresponding to applying term mul_nat.
Notation. We use ^ as an infix operator with priority 342 and which associates to the right corresponding to applying term exp_nat.
Theorem. (Subq_Sing0_1)
Proof:
Proof not loaded.
Theorem. (Subq_1_Sing0)
Proof:
Proof not loaded.
Theorem. (eq_1_Sing0)
Proof:
Proof not loaded.
Proof:
Proof not loaded.
Theorem. (equip_finite_Power)
∀n, nat_p n∀X, equip X nequip (𝒫 X) (2 ^ n)
Proof:
Proof not loaded.
End of Section form100_52
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.
Theorem. (form100_22_v2)
∀f : setset, ¬ inj (𝒫 ω) ω f
Proof:
Proof not loaded.
Theorem. (form100_22_v3)
∀g : setset, ¬ surj ω (𝒫 ω) g
Proof:
Proof not loaded.
Theorem. (form100_22_v1)
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.
Definition. We define finite to be λX ⇒ ∃nω, equip X n of type setprop.
Theorem. (nat_finite)
∀n, nat_p nfinite n
Proof:
Proof not loaded.
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. (Sing_finite)
∀x, finite {x}
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.
Definition. We define infinite to be λA ⇒ ¬ finite A of type setprop.
Beginning of Section InfinitePrimes
Notation. We use + as an infix operator with priority 360 and which associates to the right corresponding to applying term add_nat.
Notation. We use * as an infix operator with priority 355 and which associates to the right corresponding to applying term mul_nat.
Definition. We define divides_nat to be λm n ⇒ m ω n ω ∃kω, m * k = n of type setsetprop.
Theorem. (divides_nat_ref)
∀n, nat_p ndivides_nat n n
Proof:
Proof not loaded.
Theorem. (divides_nat_tra)
∀k m n, divides_nat k mdivides_nat m ndivides_nat k n
Proof:
Proof not loaded.
Definition. We define prime_nat to be λn ⇒ n ω 1 n ∀kω, divides_nat k nk = 1 k = n of type setprop.
Theorem. (divides_nat_mulR)
∀m nω, divides_nat m (m * n)
Proof:
Proof not loaded.
Theorem. (divides_nat_mulL)
∀m nω, divides_nat n (m * n)
Proof:
Proof not loaded.
Theorem. (Pi_nat_divides)
∀f : setset, ∀n, nat_p n(∀in, nat_p (f i))(∀in, divides_nat (f i) (Pi_nat f n))
Proof:
Proof not loaded.
Definition. We define composite_nat to be λn ⇒ n ω ∃k mω, 1 k 1 m k * m = n of type setprop.
Proof:
Proof not loaded.
Theorem. (prime_nat_divisor_ex)
∀n, nat_p n1 n∃p, prime_nat p divides_nat p n
Proof:
Proof not loaded.
Theorem. (nat_1In_not_divides_ordsucc)
∀m n, 1 mdivides_nat m n¬ divides_nat m (ordsucc n)
Proof:
Proof not loaded.
Definition. We define primes to be {nω|prime_nat n} of type set.
Proof:
Proof not loaded.
End of Section InfinitePrimes
Beginning of Section InfiniteRamsey
Notation. We use + as an infix operator with priority 360 and which associates to the right corresponding to applying term add_nat.
Theorem. (atleastp_omega_infinite)
∀X, atleastp ω Xinfinite X
Proof:
Proof not loaded.
Theorem. (infinite_remove1)
∀X, infinite X∀y, infinite (X {y})
Proof:
Proof not loaded.
Theorem. (infinite_Finite_Subq_ex)
∀X, infinite X∀n, nat_p n∃YX, equip Y n
Proof:
Proof not loaded.
Theorem. (infiniteRamsey_lem)
∀X, ∀f g f' : setset, infinite X(∀ZX, infinite Zf Z Z infinite (f Z))(∀ZX, infinite Zg Z Z g Z f Z)f' 0 = f X(∀m, nat_p mf' (ordsucc m) = f (f' m))(∀m, nat_p mf' m X infinite (f' m)) (∀m m'ω, m m'f' m' f' m) (∀m m'ω, g (f' m) = g (f' m')m = m')
Proof:
Proof not loaded.
Theorem. (infiniteRamsey)
∀c, nat_p c∀n, nat_p n∀X, infinite X∀C : setset, (∀YX, equip Y nC Y c)∃HX, ∃ic, infinite H ∀YH, equip Y nC Y = i
Proof:
Proof not loaded.
End of Section InfiniteRamsey
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. (Inj1_setsum_1L)
∀X : set, 1 + X = Inj1 X
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. (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. (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)
∀X : set, ∀Y : setset, ∀xX, ∀yY x, pair x y xX, Y x
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.
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. (lamI2)
∀X, ∀F : setset, ∀xX, ∀yF x, (x,y) λxXF x
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
Notation. We use x...y [possibly with ascriptions] , B as a binder notation corresponding to a term constructed using Sigma.
Notation. We use as an infix operator with priority 440 and which associates to the left corresponding to applying term setprod.
Notation. We use x...y [possibly with ascriptions] , B as a binder notation corresponding to a term constructed using Pi.
Notation. We use :^: as an infix operator with priority 430 and which associates to the left corresponding to applying term setexp.
Definition. We define DescrR_i_io_1 to be λR ⇒ Eps_i (λx ⇒ (∃y : setprop, R x y) (∀y z : setprop, R x yR x zy = z)) of type (set(setprop)prop)set.
Definition. We define DescrR_i_io_2 to be λR ⇒ Descr_Vo1 (λy ⇒ R (DescrR_i_io_1 R) y) of type (set(setprop)prop)setprop.
Theorem. (DescrR_i_io_12)
∀R : set(setprop)prop, (∃x, (∃y : setprop, R x y) (∀y z : setprop, R x yR x zy = z))R (DescrR_i_io_1 R) (DescrR_i_io_2 R)
Proof:
Proof not loaded.
Definition. We define PNoEq_ to be λalpha p q ⇒ ∀betaalpha, p beta q beta of type set(setprop)(setprop)prop.
Theorem. (PNoEq_ref_)
∀alpha, ∀p : setprop, PNoEq_ alpha p p
Proof:
Proof not loaded.
Theorem. (PNoEq_sym_)
∀alpha, ∀p q : setprop, PNoEq_ alpha p qPNoEq_ alpha q p
Proof:
Proof not loaded.
Theorem. (PNoEq_tra_)
∀alpha, ∀p q r : setprop, PNoEq_ alpha p qPNoEq_ alpha q rPNoEq_ alpha p r
Proof:
Proof not loaded.
Theorem. (PNoEq_antimon_)
∀p q : setprop, ∀alpha, ordinal alpha∀betaalpha, PNoEq_ alpha p qPNoEq_ beta p q
Proof:
Proof not loaded.
Definition. We define PNoLt_ to be λalpha p q ⇒ ∃betaalpha, PNoEq_ beta p q ¬ p beta q beta of type set(setprop)(setprop)prop.
Theorem. (PNoLt_E_)
∀alpha, ∀p q : setprop, PNoLt_ alpha p q∀R : prop, (∀beta, beta alphaPNoEq_ beta p q¬ p betaq betaR)R
Proof:
Proof not loaded.
Theorem. (PNoLt_irref_)
∀alpha, ∀p : setprop, ¬ PNoLt_ alpha p p
Proof:
Proof not loaded.
Theorem. (PNoLt_mon_)
∀p q : setprop, ∀alpha, ordinal alpha∀betaalpha, PNoLt_ beta p qPNoLt_ alpha p q
Proof:
Proof not loaded.
Theorem. (PNoLt_trichotomy_or_)
∀p q : setprop, ∀alpha, ordinal alphaPNoLt_ alpha p q PNoEq_ alpha p q PNoLt_ alpha q p
Proof:
Proof not loaded.
Definition. We define PNoLt to be λalpha p beta q ⇒ PNoLt_ (alpha beta) p q alpha beta PNoEq_ alpha p q q alpha beta alpha PNoEq_ beta p q ¬ p beta of type set(setprop)set(setprop)prop.
Theorem. (PNoLtI1)
∀alpha beta, ∀p q : setprop, PNoLt_ (alpha beta) p qPNoLt alpha p beta q
Proof:
Proof not loaded.
Theorem. (PNoLtI2)
∀alpha beta, ∀p q : setprop, alpha betaPNoEq_ alpha p qq alphaPNoLt alpha p beta q
Proof:
Proof not loaded.
Theorem. (PNoLtI3)
∀alpha beta, ∀p q : setprop, beta alphaPNoEq_ beta p q¬ p betaPNoLt alpha p beta q
Proof:
Proof not loaded.
Theorem. (PNoLtE)
∀alpha beta, ∀p q : setprop, PNoLt alpha p beta q∀R : prop, (PNoLt_ (alpha beta) p qR)(alpha betaPNoEq_ alpha p qq alphaR)(beta alphaPNoEq_ beta p q¬ p betaR)R
Proof:
Proof not loaded.
Theorem. (PNoLt_irref)
∀alpha, ∀p : setprop, ¬ PNoLt alpha p alpha p
Proof:
Proof not loaded.
Theorem. (PNoLt_trichotomy_or)
∀alpha beta, ∀p q : setprop, ordinal alphaordinal betaPNoLt alpha p beta q alpha = beta PNoEq_ alpha p q PNoLt beta q alpha p
Proof:
Proof not loaded.
Theorem. (PNoLtEq_tra)
∀alpha beta, ordinal alphaordinal beta∀p q r : setprop, PNoLt alpha p beta qPNoEq_ beta q rPNoLt alpha p beta r
Proof:
Proof not loaded.
Theorem. (PNoEqLt_tra)
∀alpha beta, ordinal alphaordinal beta∀p q r : setprop, PNoEq_ alpha p qPNoLt alpha q beta rPNoLt alpha p beta r
Proof:
Proof not loaded.
Theorem. (PNoLt_tra)
∀alpha beta gamma, ordinal alphaordinal betaordinal gamma∀p q r : setprop, PNoLt alpha p beta qPNoLt beta q gamma rPNoLt alpha p gamma r
Proof:
Proof not loaded.
Definition. We define PNoLe to be λalpha p beta q ⇒ PNoLt alpha p beta q alpha = beta PNoEq_ alpha p q of type set(setprop)set(setprop)prop.
Theorem. (PNoLeI1)
∀alpha beta, ∀p q : setprop, PNoLt alpha p beta qPNoLe alpha p beta q
Proof:
Proof not loaded.
Theorem. (PNoLeI2)
∀alpha, ∀p q : setprop, PNoEq_ alpha p qPNoLe alpha p alpha q
Proof:
Proof not loaded.
Theorem. (PNoLe_ref)
∀alpha, ∀p : setprop, PNoLe alpha p alpha p
Proof:
Proof not loaded.
Theorem. (PNoLe_antisym)
∀alpha beta, ordinal alphaordinal beta∀p q : setprop, PNoLe alpha p beta qPNoLe beta q alpha palpha = beta PNoEq_ alpha p q
Proof:
Proof not loaded.
Theorem. (PNoLtLe_tra)
∀alpha beta gamma, ordinal alphaordinal betaordinal gamma∀p q r : setprop, PNoLt alpha p beta qPNoLe beta q gamma rPNoLt alpha p gamma r
Proof:
Proof not loaded.
Theorem. (PNoLeLt_tra)
∀alpha beta gamma, ordinal alphaordinal betaordinal gamma∀p q r : setprop, PNoLe alpha p beta qPNoLt beta q gamma rPNoLt alpha p gamma r
Proof:
Proof not loaded.
Theorem. (PNoEqLe_tra)
∀alpha beta, ordinal alphaordinal beta∀p q r : setprop, PNoEq_ alpha p qPNoLe alpha q beta rPNoLe alpha p beta r
Proof:
Proof not loaded.
Theorem. (PNoLe_tra)
∀alpha beta gamma, ordinal alphaordinal betaordinal gamma∀p q r : setprop, PNoLe alpha p beta qPNoLe beta q gamma rPNoLe alpha p gamma r
Proof:
Proof not loaded.
Definition. We define PNo_downc to be λL alpha p ⇒ ∃beta, ordinal beta ∃q : setprop, L beta q PNoLe alpha p beta q of type (set(setprop)prop)set(setprop)prop.
Definition. We define PNo_upc to be λR alpha p ⇒ ∃beta, ordinal beta ∃q : setprop, R beta q PNoLe beta q alpha p of type (set(setprop)prop)set(setprop)prop.
Theorem. (PNoLe_downc)
∀L : set(setprop)prop, ∀alpha beta, ∀p q : setprop, ordinal alphaordinal betaPNo_downc L alpha pPNoLe beta q alpha pPNo_downc L beta q
Proof:
Proof not loaded.
Theorem. (PNo_downc_ref)
∀L : set(setprop)prop, ∀alpha, ordinal alpha∀p : setprop, L alpha pPNo_downc L alpha p
Proof:
Proof not loaded.
Theorem. (PNo_upc_ref)
∀R : set(setprop)prop, ∀alpha, ordinal alpha∀p : setprop, R alpha pPNo_upc R alpha p
Proof:
Proof not loaded.
Theorem. (PNoLe_upc)
∀R : set(setprop)prop, ∀alpha beta, ∀p q : setprop, ordinal alphaordinal betaPNo_upc R alpha pPNoLe alpha p beta qPNo_upc R beta q
Proof:
Proof not loaded.
Definition. We define PNoLt_pwise to be λL R ⇒ ∀gamma, ordinal gamma∀p : setprop, L gamma p∀delta, ordinal delta∀q : setprop, R delta qPNoLt gamma p delta q of type (set(setprop)prop)(set(setprop)prop)prop.
Theorem. (PNoLt_pwise_downc_upc)
∀L R : set(setprop)prop, PNoLt_pwise L RPNoLt_pwise (PNo_downc L) (PNo_upc R)
Proof:
Proof not loaded.
Definition. We define PNo_rel_strict_upperbd to be λL alpha p ⇒ ∀betaalpha, ∀q : setprop, PNo_downc L beta qPNoLt beta q alpha p of type (set(setprop)prop)set(setprop)prop.
Definition. We define PNo_rel_strict_lowerbd to be λR alpha p ⇒ ∀betaalpha, ∀q : setprop, PNo_upc R beta qPNoLt alpha p beta q of type (set(setprop)prop)set(setprop)prop.
Definition. We define PNo_rel_strict_imv to be λL R alpha p ⇒ PNo_rel_strict_upperbd L alpha p PNo_rel_strict_lowerbd R alpha p of type (set(setprop)prop)(set(setprop)prop)set(setprop)prop.
Theorem. (PNoEq_rel_strict_upperbd)
∀L : set(setprop)prop, ∀alpha, ordinal alpha∀p q : setprop, PNoEq_ alpha p qPNo_rel_strict_upperbd L alpha pPNo_rel_strict_upperbd L alpha q
Proof:
Proof not loaded.
Theorem. (PNo_rel_strict_upperbd_antimon)
∀L : set(setprop)prop, ∀alpha, ordinal alpha∀p : setprop, ∀betaalpha, PNo_rel_strict_upperbd L alpha pPNo_rel_strict_upperbd L beta p
Proof:
Proof not loaded.
Theorem. (PNoEq_rel_strict_lowerbd)
∀R : set(setprop)prop, ∀alpha, ordinal alpha∀p q : setprop, PNoEq_ alpha p qPNo_rel_strict_lowerbd R alpha pPNo_rel_strict_lowerbd R alpha q
Proof:
Proof not loaded.
Theorem. (PNo_rel_strict_lowerbd_antimon)
∀R : set(setprop)prop, ∀alpha, ordinal alpha∀p : setprop, ∀betaalpha, PNo_rel_strict_lowerbd R alpha pPNo_rel_strict_lowerbd R beta p
Proof:
Proof not loaded.
Theorem. (PNoEq_rel_strict_imv)
∀L R : set(setprop)prop, ∀alpha, ordinal alpha∀p q : setprop, PNoEq_ alpha p qPNo_rel_strict_imv L R alpha pPNo_rel_strict_imv L R alpha q
Proof:
Proof not loaded.
Theorem. (PNo_rel_strict_imv_antimon)
∀L R : set(setprop)prop, ∀alpha, ordinal alpha∀p : setprop, ∀betaalpha, PNo_rel_strict_imv L R alpha pPNo_rel_strict_imv L R beta p
Proof:
Proof not loaded.
Definition. We define PNo_rel_strict_uniq_imv to be λL R alpha p ⇒ PNo_rel_strict_imv L R alpha p ∀q : setprop, PNo_rel_strict_imv L R alpha qPNoEq_ alpha p q of type (set(setprop)prop)(set(setprop)prop)set(setprop)prop.
Definition. We define PNo_rel_strict_split_imv to be λL R alpha p ⇒ PNo_rel_strict_imv L R (ordsucc alpha) (λdelta ⇒ p delta delta alpha) PNo_rel_strict_imv L R (ordsucc alpha) (λdelta ⇒ p delta delta = alpha) of type (set(setprop)prop)(set(setprop)prop)set(setprop)prop.
Theorem. (PNo_extend0_eq)
∀alpha, ∀p : setprop, PNoEq_ alpha p (λdelta ⇒ p delta delta alpha)
Proof:
Proof not loaded.
Theorem. (PNo_extend1_eq)
∀alpha, ∀p : setprop, PNoEq_ alpha p (λdelta ⇒ p delta delta = alpha)
Proof:
Proof not loaded.
Theorem. (PNo_rel_imv_ex)
∀L R : set(setprop)prop, PNoLt_pwise L R∀alpha, ordinal alpha(∃p : setprop, PNo_rel_strict_uniq_imv L R alpha p) (∃taualpha, ∃p : setprop, PNo_rel_strict_split_imv L R tau p)
Proof:
Proof not loaded.
Definition. We define PNo_lenbdd to be λalpha L ⇒ ∀beta, ∀p : setprop, L beta pbeta alpha of type set(set(setprop)prop)prop.
Theorem. (PNo_lenbdd_strict_imv_extend0)
∀L R : set(setprop)prop, ∀alpha, ordinal alphaPNo_lenbdd alpha LPNo_lenbdd alpha R∀p : setprop, PNo_rel_strict_imv L R alpha pPNo_rel_strict_imv L R (ordsucc alpha) (λdelta ⇒ p delta delta alpha)
Proof:
Proof not loaded.
Theorem. (PNo_lenbdd_strict_imv_extend1)
∀L R : set(setprop)prop, ∀alpha, ordinal alphaPNo_lenbdd alpha LPNo_lenbdd alpha R∀p : setprop, PNo_rel_strict_imv L R alpha pPNo_rel_strict_imv L R (ordsucc alpha) (λdelta ⇒ p delta delta = alpha)
Proof:
Proof not loaded.
Theorem. (PNo_lenbdd_strict_imv_split)
∀L R : set(setprop)prop, ∀alpha, ordinal alphaPNo_lenbdd alpha LPNo_lenbdd alpha R∀p : setprop, PNo_rel_strict_imv L R alpha pPNo_rel_strict_split_imv L R alpha p
Proof:
Proof not loaded.
Theorem. (PNo_rel_imv_bdd_ex)
∀L R : set(setprop)prop, PNoLt_pwise L R∀alpha, ordinal alphaPNo_lenbdd alpha LPNo_lenbdd alpha R∃betaordsucc alpha, ∃p : setprop, PNo_rel_strict_split_imv L R beta p
Proof:
Proof not loaded.
Definition. We define PNo_strict_upperbd to be λL alpha p ⇒ ∀beta, ordinal beta∀q : setprop, L beta qPNoLt beta q alpha p of type (set(setprop)prop)set(setprop)prop.
Definition. We define PNo_strict_lowerbd to be λR alpha p ⇒ ∀beta, ordinal beta∀q : setprop, R beta qPNoLt alpha p beta q of type (set(setprop)prop)set(setprop)prop.
Definition. We define PNo_strict_imv to be λL R alpha p ⇒ PNo_strict_upperbd L alpha p PNo_strict_lowerbd R alpha p of type (set(setprop)prop)(set(setprop)prop)set(setprop)prop.
Theorem. (PNoEq_strict_upperbd)
∀L : set(setprop)prop, ∀alpha, ordinal alpha∀p q : setprop, PNoEq_ alpha p qPNo_strict_upperbd L alpha pPNo_strict_upperbd L alpha q
Proof:
Proof not loaded.
Theorem. (PNoEq_strict_lowerbd)
∀R : set(setprop)prop, ∀alpha, ordinal alpha∀p q : setprop, PNoEq_ alpha p qPNo_strict_lowerbd R alpha pPNo_strict_lowerbd R alpha q
Proof:
Proof not loaded.
Theorem. (PNoEq_strict_imv)
∀L R : set(setprop)prop, ∀alpha, ordinal alpha∀p q : setprop, PNoEq_ alpha p qPNo_strict_imv L R alpha pPNo_strict_imv L R alpha q
Proof:
Proof not loaded.
Theorem. (PNo_strict_upperbd_imp_rel_strict_upperbd)
∀L : set(setprop)prop, ∀alpha, ordinal alpha∀betaordsucc alpha, ∀p : setprop, PNo_strict_upperbd L alpha pPNo_rel_strict_upperbd L beta p
Proof:
Proof not loaded.
Theorem. (PNo_strict_lowerbd_imp_rel_strict_lowerbd)
∀R : set(setprop)prop, ∀alpha, ordinal alpha∀betaordsucc alpha, ∀p : setprop, PNo_strict_lowerbd R alpha pPNo_rel_strict_lowerbd R beta p
Proof:
Proof not loaded.
Theorem. (PNo_strict_imv_imp_rel_strict_imv)
∀L R : set(setprop)prop, ∀alpha, ordinal alpha∀betaordsucc alpha, ∀p : setprop, PNo_strict_imv L R alpha pPNo_rel_strict_imv L R beta p
Proof:
Proof not loaded.
Theorem. (PNo_rel_split_imv_imp_strict_imv)
∀L R : set(setprop)prop, ∀alpha, ordinal alpha∀p : setprop, PNo_rel_strict_split_imv L R alpha pPNo_strict_imv L R alpha p
Proof:
Proof not loaded.
Theorem. (PNo_lenbdd_strict_imv_ex)
∀L R : set(setprop)prop, PNoLt_pwise L R∀alpha, ordinal alphaPNo_lenbdd alpha LPNo_lenbdd alpha R∃betaordsucc alpha, ∃p : setprop, PNo_strict_imv L R beta p
Proof:
Proof not loaded.
Definition. We define PNo_least_rep to be λL R beta p ⇒ ordinal beta PNo_strict_imv L R beta p ∀gammabeta, ∀q : setprop, ¬ PNo_strict_imv L R gamma q of type (set(setprop)prop)(set(setprop)prop)set(setprop)prop.
Definition. We define PNo_least_rep2 to be λL R beta p ⇒ PNo_least_rep L R beta p ∀x, x beta¬ p x of type (set(setprop)prop)(set(setprop)prop)set(setprop)prop.
Theorem. (PNo_strict_imv_pred_eq)
∀L R : set(setprop)prop, PNoLt_pwise L R∀alpha, ordinal alpha∀p q : setprop, PNo_least_rep L R alpha pPNo_strict_imv L R alpha q∀betaalpha, p beta q beta
Proof:
Proof not loaded.
Theorem. (PNo_lenbdd_least_rep2_exuniq2)
∀L R : set(setprop)prop, PNoLt_pwise L R∀alpha, ordinal alphaPNo_lenbdd alpha LPNo_lenbdd alpha R∃beta, (∃p : setprop, PNo_least_rep2 L R beta p) (∀p q : setprop, PNo_least_rep2 L R beta pPNo_least_rep2 L R beta qp = q)
Proof:
Proof not loaded.
Definition. We define PNo_bd to be λL R ⇒ DescrR_i_io_1 (PNo_least_rep2 L R) of type (set(setprop)prop)(set(setprop)prop)set.
Definition. We define PNo_pred to be λL R ⇒ DescrR_i_io_2 (PNo_least_rep2 L R) of type (set(setprop)prop)(set(setprop)prop)setprop.
Theorem. (PNo_bd_pred_lem)
∀L R : set(setprop)prop, PNoLt_pwise L R∀alpha, ordinal alphaPNo_lenbdd alpha LPNo_lenbdd alpha RPNo_least_rep2 L R (PNo_bd L R) (PNo_pred L R)
Proof:
Proof not loaded.
Theorem. (PNo_bd_pred)
∀L R : set(setprop)prop, PNoLt_pwise L R∀alpha, ordinal alphaPNo_lenbdd alpha LPNo_lenbdd alpha RPNo_least_rep L R (PNo_bd L R) (PNo_pred L R)
Proof:
Proof not loaded.
Theorem. (PNo_bd_In)
∀L R : set(setprop)prop, PNoLt_pwise L R∀alpha, ordinal alphaPNo_lenbdd alpha LPNo_lenbdd alpha RPNo_bd L R ordsucc alpha
Proof:
Proof not loaded.
Beginning of Section TaggedSets
Let tag : setsetλalpha ⇒ SetAdjoin alpha {1}
Notation. We use ' as a postfix operator with priority 100 corresponding to applying term tag.
Proof:
Proof not loaded.
Proof:
Proof not loaded.
Theorem. (tagged_not_ordinal)
∀y, ¬ ordinal (y ')
Proof:
Proof not loaded.
Theorem. (tagged_notin_ordinal)
∀alpha y, ordinal alpha(y ') alpha
Proof:
Proof not loaded.
Theorem. (tagged_eqE_Subq)
∀alpha beta, ordinal alphaalpha ' = beta 'alpha beta
Proof:
Proof not loaded.
Theorem. (tagged_eqE_eq)
∀alpha beta, ordinal alphaordinal betaalpha ' = beta 'alpha = beta
Proof:
Proof not loaded.
Theorem. (tagged_ReplE)
∀alpha beta, ordinal alphaordinal betabeta ' {gamma '|gammaalpha}beta alpha
Proof:
Proof not loaded.
Theorem. (ordinal_notin_tagged_Repl)
∀alpha Y, ordinal alphaalpha {y '|yY}
Proof:
Proof not loaded.
Definition. We define SNoElts_ to be λalpha ⇒ alpha {beta '|betaalpha} of type setset.
Theorem. (SNoElts_mon)
∀alpha beta, alpha betaSNoElts_ alpha SNoElts_ beta
Proof:
Proof not loaded.
Definition. We define SNo_ to be λalpha x ⇒ x SNoElts_ alpha ∀betaalpha, exactly1of2 (beta ' x) (beta x) of type setsetprop.
Definition. We define PSNo to be λalpha p ⇒ {betaalpha|p beta} {beta '|betaalpha, ¬ p beta} of type set(setprop)set.
Theorem. (PNoEq_PSNo)
∀alpha, ordinal alpha∀p : setprop, PNoEq_ alpha (λbeta ⇒ beta PSNo alpha p) p
Proof:
Proof not loaded.
Theorem. (SNo_PSNo)
∀alpha, ordinal alpha∀p : setprop, SNo_ alpha (PSNo alpha p)
Proof:
Proof not loaded.
Theorem. (SNo_PSNo_eta_)
∀alpha x, ordinal alphaSNo_ alpha xx = PSNo alpha (λbeta ⇒ beta x)
Proof:
Proof not loaded.
Definition. We define SNo to be λx ⇒ ∃alpha, ordinal alpha SNo_ alpha x of type setprop.
Theorem. (SNo_SNo)
∀alpha, ordinal alpha∀z, SNo_ alpha zSNo z
Proof:
Proof not loaded.
Definition. We define SNoLev to be λx ⇒ Eps_i (λalpha ⇒ ordinal alpha SNo_ alpha x) of type setset.
Theorem. (SNoLev_uniq_Subq)
∀x alpha beta, ordinal alphaordinal betaSNo_ alpha xSNo_ beta xalpha beta
Proof:
Proof not loaded.
Theorem. (SNoLev_uniq)
∀x alpha beta, ordinal alphaordinal betaSNo_ alpha xSNo_ beta xalpha = beta
Proof:
Proof not loaded.
Theorem. (SNoLev_prop)
∀x, SNo xordinal (SNoLev x) SNo_ (SNoLev x) x
Proof:
Proof not loaded.
Theorem. (SNoLev_ordinal)
∀x, SNo xordinal (SNoLev x)
Proof:
Proof not loaded.
Theorem. (SNoLev_)
∀x, SNo xSNo_ (SNoLev x) x
Proof:
Proof not loaded.
Theorem. (SNo_PSNo_eta)
∀x, SNo xx = PSNo (SNoLev x) (λbeta ⇒ beta x)
Proof:
Proof not loaded.
Theorem. (SNoLev_PSNo)
∀alpha, ordinal alpha∀p : setprop, SNoLev (PSNo alpha p) = alpha
Proof:
Proof not loaded.
Theorem. (SNo_Subq)
∀x y, SNo xSNo ySNoLev x SNoLev y(∀alphaSNoLev x, alpha x alpha y)x y
Proof:
Proof not loaded.
Definition. We define SNoEq_ to be λalpha x y ⇒ PNoEq_ alpha (λbeta ⇒ beta x) (λbeta ⇒ beta y) of type setsetsetprop.
Theorem. (SNoEq_I)
∀alpha x y, (∀betaalpha, beta x beta y)SNoEq_ alpha x y
Proof:
Proof not loaded.
Theorem. (SNo_eq)
∀x y, SNo xSNo ySNoLev x = SNoLev ySNoEq_ (SNoLev x) x yx = y
Proof:
Proof not loaded.
End of Section TaggedSets
Definition. We define SNoLt to be λx y ⇒ PNoLt (SNoLev x) (λbeta ⇒ beta x) (SNoLev y) (λbeta ⇒ beta y) of type setsetprop.
Notation. We use < as an infix operator with priority 490 and no associativity corresponding to applying term SNoLt.
Definition. We define SNoLe to be λx y ⇒ PNoLe (SNoLev x) (λbeta ⇒ beta x) (SNoLev y) (λbeta ⇒ beta y) of type setsetprop.
Notation. We use as an infix operator with priority 490 and no associativity corresponding to applying term SNoLe.
Theorem. (SNoLtLe)
∀x y, x < yx y
Proof:
Proof not loaded.
Theorem. (SNoLeE)
∀x y, SNo xSNo yx yx < y x = y
Proof:
Proof not loaded.
Theorem. (SNoEq_sym_)
∀alpha x y, SNoEq_ alpha x ySNoEq_ alpha y x
Proof:
Proof not loaded.
Theorem. (SNoEq_tra_)
∀alpha x y z, SNoEq_ alpha x ySNoEq_ alpha y zSNoEq_ alpha x z
Proof:
Proof not loaded.
Theorem. (SNoLtE)
∀x y, SNo xSNo yx < y∀p : prop, (∀z, SNo zSNoLev z SNoLev x SNoLev ySNoEq_ (SNoLev z) z xSNoEq_ (SNoLev z) z yx < zz < ySNoLev z xSNoLev z yp)(SNoLev x SNoLev ySNoEq_ (SNoLev x) x ySNoLev x yp)(SNoLev y SNoLev xSNoEq_ (SNoLev y) x ySNoLev y xp)p
Proof:
Proof not loaded.
Theorem. (SNoLtI2)
∀x y, SNoLev x SNoLev ySNoEq_ (SNoLev x) x ySNoLev x yx < y
Proof:
Proof not loaded.
Theorem. (SNoLtI3)
∀x y, SNoLev y SNoLev xSNoEq_ (SNoLev y) x ySNoLev y xx < y
Proof:
Proof not loaded.
Theorem. (SNoLt_irref)
∀x, ¬ SNoLt x x
Proof:
Proof not loaded.
Theorem. (SNoLt_trichotomy_or)
∀x y, SNo xSNo yx < y x = y y < x
Proof:
Proof not loaded.
Theorem. (SNoLt_trichotomy_or_impred)
∀x y, SNo xSNo y∀p : prop, (x < yp)(x = yp)(y < xp)p
Proof:
Proof not loaded.
Theorem. (SNoLt_tra)
∀x y z, SNo xSNo ySNo zx < yy < zx < z
Proof:
Proof not loaded.
Theorem. (SNoLe_ref)
∀x, SNoLe x x
Proof:
Proof not loaded.
Theorem. (SNoLe_antisym)
∀x y, SNo xSNo yx yy xx = y
Proof:
Proof not loaded.
Theorem. (SNoLtLe_tra)
∀x y z, SNo xSNo ySNo zx < yy zx < z
Proof:
Proof not loaded.
Theorem. (SNoLeLt_tra)
∀x y z, SNo xSNo ySNo zx yy < zx < z
Proof:
Proof not loaded.
Theorem. (SNoLe_tra)
∀x y z, SNo xSNo ySNo zx yy zx z
Proof:
Proof not loaded.
Theorem. (SNoLtLe_or)
∀x y, SNo xSNo yx < y y x
Proof:
Proof not loaded.
Theorem. (SNoLt_PSNo_PNoLt)
∀alpha beta, ∀p q : setprop, ordinal alphaordinal betaPSNo alpha p < PSNo beta qPNoLt alpha p beta q
Proof:
Proof not loaded.
Theorem. (PNoLt_SNoLt_PSNo)
∀alpha beta, ∀p q : setprop, ordinal alphaordinal betaPNoLt alpha p beta qPSNo alpha p < PSNo beta q
Proof:
Proof not loaded.
Definition. We define SNoCut to be λL R ⇒ PSNo (PNo_bd (λalpha p ⇒ ordinal alpha PSNo alpha p L) (λalpha p ⇒ ordinal alpha PSNo alpha p R)) (PNo_pred (λalpha p ⇒ ordinal alpha PSNo alpha p L) (λalpha p ⇒ ordinal alpha PSNo alpha p R)) of type setsetset.
Definition. We define SNoCutP to be λL R ⇒ (∀xL, SNo x) (∀yR, SNo y) (∀xL, ∀yR, x < y) of type setsetprop.
Theorem. (SNoCutP_SNoCut)
∀L R, SNoCutP L RSNo (SNoCut L R) SNoLev (SNoCut L R) ordsucc ((xLordsucc (SNoLev x)) (yRordsucc (SNoLev y))) (∀xL, x < SNoCut L R) (∀yR, SNoCut L R < y) (∀z, SNo z(∀xL, x < z)(∀yR, z < y)SNoLev (SNoCut L R) SNoLev z SNoEq_ (SNoLev (SNoCut L R)) (SNoCut L R) z)
Proof:
Proof not loaded.
Theorem. (SNoCutP_SNoCut_impred)
∀L R, SNoCutP L R∀p : prop, (SNo (SNoCut L R)SNoLev (SNoCut L R) ordsucc ((xLordsucc (SNoLev x)) (yRordsucc (SNoLev y)))(∀xL, x < SNoCut L R)(∀yR, SNoCut L R < y)(∀z, SNo z(∀xL, x < z)(∀yR, z < y)SNoLev (SNoCut L R) SNoLev z SNoEq_ (SNoLev (SNoCut L R)) (SNoCut L R) z)p)p
Proof:
Proof not loaded.
Theorem. (SNoCutP_L_0)
∀L, (∀xL, SNo x)SNoCutP L 0
Proof:
Proof not loaded.
Theorem. (SNoCutP_0_0)
Proof:
Proof not loaded.
Definition. We define SNoS_ to be λalpha ⇒ {x𝒫 (SNoElts_ alpha)|∃betaalpha, SNo_ beta x} of type setset.
Theorem. (SNoS_E)
∀alpha, ordinal alpha∀xSNoS_ alpha, ∃betaalpha, SNo_ beta x
Proof:
Proof not loaded.
Beginning of Section TaggedSets2
Let tag : setsetλalpha ⇒ SetAdjoin alpha {1}
Notation. We use ' as a postfix operator with priority 100 corresponding to applying term tag.
Theorem. (SNoS_I)
∀alpha, ordinal alpha∀x, ∀betaalpha, SNo_ beta xx SNoS_ alpha
Proof:
Proof not loaded.
Theorem. (SNoS_I2)
∀x y, SNo xSNo ySNoLev x SNoLev yx SNoS_ (SNoLev y)
Proof:
Proof not loaded.
Theorem. (SNoS_Subq)
∀alpha beta, ordinal alphaordinal betaalpha betaSNoS_ alpha SNoS_ beta
Proof:
Proof not loaded.
Theorem. (SNoLev_uniq2)
∀alpha, ordinal alpha∀x, SNo_ alpha xSNoLev x = alpha
Proof:
Proof not loaded.
Theorem. (SNoS_E2)
∀alpha, ordinal alpha∀xSNoS_ alpha, ∀p : prop, (SNoLev x alphaordinal (SNoLev x)SNo xSNo_ (SNoLev x) xp)p
Proof:
Proof not loaded.
Theorem. (SNoS_In_neq)
∀w, SNo w∀xSNoS_ (SNoLev w), x w
Proof:
Proof not loaded.
Theorem. (SNoS_SNoLev)
∀z, SNo zz SNoS_ (ordsucc (SNoLev z))
Proof:
Proof not loaded.
Definition. We define SNoL to be λz ⇒ {xSNoS_ (SNoLev z)|x < z} of type setset.
Definition. We define SNoR to be λz ⇒ {ySNoS_ (SNoLev z)|z < y} of type setset.
Theorem. (SNoCutP_SNoL_SNoR)
∀z, SNo zSNoCutP (SNoL z) (SNoR z)
Proof:
Proof not loaded.
Theorem. (SNoL_E)
∀x, SNo x∀wSNoL x, ∀p : prop, (SNo wSNoLev w SNoLev xw < xp)p
Proof:
Proof not loaded.
Theorem. (SNoR_E)
∀x, SNo x∀zSNoR x, ∀p : prop, (SNo zSNoLev z SNoLev xx < zp)p
Proof:
Proof not loaded.
Theorem. (SNoL_SNoS_)
∀z, SNoL z SNoS_ (SNoLev z)
Proof:
Proof not loaded.
Theorem. (SNoR_SNoS_)
∀z, SNoR z SNoS_ (SNoLev z)
Proof:
Proof not loaded.
Theorem. (SNoL_SNoS)
∀x, SNo x∀wSNoL x, w SNoS_ (SNoLev x)
Proof:
Proof not loaded.
Theorem. (SNoR_SNoS)
∀x, SNo x∀zSNoR x, z SNoS_ (SNoLev x)
Proof:
Proof not loaded.
Theorem. (SNoL_I)
∀z, SNo z∀x, SNo xSNoLev x SNoLev zx < zx SNoL z
Proof:
Proof not loaded.
Theorem. (SNoR_I)
∀z, SNo z∀y, SNo ySNoLev y SNoLev zz < yy SNoR z
Proof:
Proof not loaded.
Theorem. (SNo_eta)
∀z, SNo zz = SNoCut (SNoL z) (SNoR z)
Proof:
Proof not loaded.
Theorem. (SNoCutP_SNo_SNoCut)
∀L R, SNoCutP L RSNo (SNoCut L R)
Proof:
Proof not loaded.
Theorem. (SNoCutP_SNoCut_L)
∀L R, SNoCutP L R∀xL, x < SNoCut L R
Proof:
Proof not loaded.
Theorem. (SNoCutP_SNoCut_R)
∀L R, SNoCutP L R∀yR, SNoCut L R < y
Proof:
Proof not loaded.
Theorem. (SNoCutP_SNoCut_fst)
∀L R, SNoCutP L R∀z, SNo z(∀xL, x < z)(∀yR, z < y)SNoLev (SNoCut L R) SNoLev z SNoEq_ (SNoLev (SNoCut L R)) (SNoCut L R) z
Proof:
Proof not loaded.
Theorem. (SNoCut_Le)
∀L1 R1 L2 R2, SNoCutP L1 R1SNoCutP L2 R2(∀wL1, w < SNoCut L2 R2)(∀zR2, SNoCut L1 R1 < z)SNoCut L1 R1 SNoCut L2 R2
Proof:
Proof not loaded.
Theorem. (SNoCut_ext)
∀L1 R1 L2 R2, SNoCutP L1 R1SNoCutP L2 R2(∀wL1, w < SNoCut L2 R2)(∀zR1, SNoCut L2 R2 < z)(∀wL2, w < SNoCut L1 R1)(∀zR2, SNoCut L1 R1 < z)SNoCut L1 R1 = SNoCut L2 R2
Proof:
Proof not loaded.
Theorem. (SNoLt_SNoL_or_SNoR_impred)
∀x y, SNo xSNo yx < y∀p : prop, (∀zSNoL y, z SNoR xp)(x SNoL yp)(y SNoR xp)p
Proof:
Proof not loaded.
Theorem. (SNoL_or_SNoR_impred)
∀x y, SNo xSNo y∀p : prop, (x = yp)(∀zSNoL y, z SNoR xp)(x SNoL yp)(y SNoR xp)(∀zSNoR y, z SNoL xp)(x SNoR yp)(y SNoL xp)p
Proof:
Proof not loaded.
Theorem. (SNoL_SNoCutP_ex)
∀L R, SNoCutP L R∀wSNoL (SNoCut L R), ∃w'L, w w'
Proof:
Proof not loaded.
Theorem. (SNoR_SNoCutP_ex)
∀L R, SNoCutP L R∀zSNoR (SNoCut L R), ∃z'R, z' z
Proof:
Proof not loaded.
Theorem. (ordinal_SNo_)
∀alpha, ordinal alphaSNo_ alpha alpha
Proof:
Proof not loaded.
Theorem. (ordinal_SNo)
∀alpha, ordinal alphaSNo alpha
Proof:
Proof not loaded.
Theorem. (ordinal_SNoLev)
∀alpha, ordinal alphaSNoLev alpha = alpha
Proof:
Proof not loaded.
Theorem. (ordinal_SNoLev_max)
∀alpha, ordinal alpha∀z, SNo zSNoLev z alphaz < alpha
Proof:
Proof not loaded.
Theorem. (ordinal_SNoL)
∀alpha, ordinal alphaSNoL alpha = SNoS_ alpha
Proof:
Proof not loaded.
Theorem. (ordinal_SNoR)
∀alpha, ordinal alphaSNoR alpha = Empty
Proof:
Proof not loaded.
Theorem. (nat_p_SNo)
∀n, nat_p nSNo n
Proof:
Proof not loaded.
Theorem. (omega_SNo)
∀nω, SNo n
Proof:
Proof not loaded.
Proof:
Proof not loaded.
Theorem. (ordinal_In_SNoLt)
∀alpha, ordinal alpha∀betaalpha, beta < alpha
Proof:
Proof not loaded.
Theorem. (ordinal_SNoLev_max_2)
∀alpha, ordinal alpha∀z, SNo zSNoLev z ordsucc alphaz alpha
Proof:
Proof not loaded.
Theorem. (ordinal_Subq_SNoLe)
∀alpha beta, ordinal alphaordinal betaalpha betaalpha beta
Proof:
Proof not loaded.
Theorem. (ordinal_SNoLt_In)
∀alpha beta, ordinal alphaordinal betaalpha < betaalpha beta
Proof:
Proof not loaded.
Theorem. (omega_nonneg)
∀mω, 0 m
Proof:
Proof not loaded.
Theorem. (SNo_0)
Proof:
Proof not loaded.
Theorem. (SNo_1)
Proof:
Proof not loaded.
Theorem. (SNo_2)
Proof:
Proof not loaded.
Theorem. (SNoLev_0)
Proof:
Proof not loaded.
Theorem. (SNoCut_0_0)
Proof:
Proof not loaded.
Theorem. (SNoL_0)
Proof:
Proof not loaded.
Theorem. (SNoR_0)
Proof:
Proof not loaded.
Theorem. (SNoL_1)
Proof:
Proof not loaded.
Theorem. (SNoR_1)
Proof:
Proof not loaded.
Theorem. (SNo_max_SNoLev)
∀x, SNo x(∀ySNoS_ (SNoLev x), y < x)SNoLev x = x
Proof:
Proof not loaded.
Theorem. (SNo_max_ordinal)
∀x, SNo x(∀ySNoS_ (SNoLev x), y < x)ordinal x
Proof:
Proof not loaded.
Theorem. (pos_low_eq_one)
∀x, SNo x0 < xSNoLev x 1x = 1
Proof:
Proof not loaded.
Definition. We define SNo_extend0 to be λx ⇒ PSNo (ordsucc (SNoLev x)) (λdelta ⇒ delta x delta SNoLev x) of type setset.
Definition. We define SNo_extend1 to be λx ⇒ PSNo (ordsucc (SNoLev x)) (λdelta ⇒ delta x delta = SNoLev x) of type setset.
Theorem. (SNo_extend0_SNo_)
∀x, SNo xSNo_ (ordsucc (SNoLev x)) (SNo_extend0 x)
Proof:
Proof not loaded.
Theorem. (SNo_extend1_SNo_)
∀x, SNo xSNo_ (ordsucc (SNoLev x)) (SNo_extend1 x)
Proof:
Proof not loaded.
Theorem. (SNo_extend0_SNo)
∀x, SNo xSNo (SNo_extend0 x)
Proof:
Proof not loaded.
Theorem. (SNo_extend1_SNo)
∀x, SNo xSNo (SNo_extend1 x)
Proof:
Proof not loaded.
Theorem. (SNo_extend0_SNoLev)
∀x, SNo xSNoLev (SNo_extend0 x) = ordsucc (SNoLev x)
Proof:
Proof not loaded.
Theorem. (SNo_extend1_SNoLev)
∀x, SNo xSNoLev (SNo_extend1 x) = ordsucc (SNoLev x)
Proof:
Proof not loaded.
Theorem. (SNo_extend0_nIn)
∀x, SNo xSNoLev x SNo_extend0 x
Proof:
Proof not loaded.
Theorem. (SNo_extend1_In)
∀x, SNo xSNoLev x SNo_extend1 x
Proof:
Proof not loaded.
Theorem. (SNo_extend0_SNoEq)
∀x, SNo xSNoEq_ (SNoLev x) (SNo_extend0 x) x
Proof:
Proof not loaded.
Theorem. (SNo_extend1_SNoEq)
∀x, SNo xSNoEq_ (SNoLev x) (SNo_extend1 x) x
Proof:
Proof not loaded.
Theorem. (SNoLev_0_eq_0)
∀x, SNo xSNoLev x = 0x = 0
Proof:
Proof not loaded.
Definition. We define eps_ to be λn ⇒ {0} {(ordsucc m) '|mn} of type setset.
Theorem. (eps_ordinal_In_eq_0)
∀n alpha, ordinal alphaalpha eps_ nalpha = 0
Proof:
Proof not loaded.
Theorem. (eps_0_1)
Proof:
Proof not loaded.
Theorem. (SNo__eps_)
∀nω, SNo_ (ordsucc n) (eps_ n)
Proof:
Proof not loaded.
Theorem. (SNo_eps_)
∀nω, SNo (eps_ n)
Proof:
Proof not loaded.
Theorem. (SNo_eps_1)
Proof:
Proof not loaded.
Theorem. (SNoLev_eps_)
Proof:
Proof not loaded.
Proof:
Proof not loaded.
Theorem. (SNo_eps_decr)
∀nω, ∀mn, eps_ n < eps_ m
Proof:
Proof not loaded.
Theorem. (SNo_eps_pos)
∀nω, 0 < eps_ n
Proof:
Proof not loaded.
Theorem. (SNo_pos_eps_Lt)
∀n, nat_p n∀xSNoS_ (ordsucc n), 0 < xeps_ n < x
Proof:
Proof not loaded.
Theorem. (SNo_pos_eps_Le)
∀n, nat_p n∀xSNoS_ (ordsucc (ordsucc n)), 0 < xeps_ n x
Proof:
Proof not loaded.
Theorem. (eps_SNo_eq)
∀n, nat_p n∀xSNoS_ (ordsucc n), 0 < xSNoEq_ (SNoLev x) (eps_ n) x∃mn, x = eps_ m
Proof:
Proof not loaded.
Proof:
Proof not loaded.
Proof:
Proof not loaded.
End of Section TaggedSets2
Theorem. (SNo_etaE)
∀z, SNo z∀p : prop, (∀L R, SNoCutP L R(∀xL, SNoLev x SNoLev z)(∀yR, SNoLev y SNoLev z)z = SNoCut L Rp)p
Proof:
Proof not loaded.
Theorem. (SNo_ind)
∀P : setprop, (∀L R, SNoCutP L R(∀xL, P x)(∀yR, P y)P (SNoCut L R))∀z, SNo zP z
Proof:
Proof not loaded.
Beginning of Section SurrealRecI
Variable F : set(setset)set
Let default : setEps_i (λ_ ⇒ True)
Let G : set(setsetset)setsetλalpha g ⇒ If_ii (ordinal alpha) (λz : setif z SNoS_ (ordsucc alpha) then F z (λw ⇒ g (SNoLev w) w) else default) (λz : setdefault)
Definition. We define SNo_rec_i to be λz ⇒ In_rec_ii G (SNoLev z) z of type setset.
Hypothesis Fr : ∀z, SNo z∀g h : setset, (∀wSNoS_ (SNoLev z), g w = h w)F z g = F z h
Theorem. (SNo_rec_i_eq)
∀z, SNo zSNo_rec_i z = F z SNo_rec_i
Proof:
Proof not loaded.
End of Section SurrealRecI
Beginning of Section SurrealRecII
Variable F : set(set(setset))(setset)
Let default : (setset)Descr_ii (λ_ ⇒ True)
Let G : set(setset(setset))set(setset)λalpha g ⇒ If_iii (ordinal alpha) (λz : setIf_ii (z SNoS_ (ordsucc alpha)) (F z (λw ⇒ g (SNoLev w) w)) default) (λz : setdefault)
Definition. We define SNo_rec_ii to be λz ⇒ In_rec_iii G (SNoLev z) z of type set(setset).
Hypothesis Fr : ∀z, SNo z∀g h : set(setset), (∀wSNoS_ (SNoLev z), g w = h w)F z g = F z h
Theorem. (SNo_rec_ii_eq)
∀z, SNo zSNo_rec_ii z = F z SNo_rec_ii
Proof:
Proof not loaded.
End of Section SurrealRecII
Beginning of Section SurrealRec2
Variable F : setset(setsetset)set
Let G : set(setsetset)set(setset)setλw f z g ⇒ F w z (λx y ⇒ if x = w then g y else f x y)
Let H : set(setsetset)setsetλw f z ⇒ if SNo z then SNo_rec_i (G w f) z else Empty
Definition. We define SNo_rec2 to be SNo_rec_ii H of type setsetset.
Hypothesis Fr : ∀w, SNo w∀z, SNo z∀g h : setsetset, (∀xSNoS_ (SNoLev w), ∀y, SNo yg x y = h x y)(∀ySNoS_ (SNoLev z), g w y = h w y)F w z g = F w z h
Theorem. (SNo_rec2_G_prop)
∀w, SNo w∀f k : setsetset, (∀xSNoS_ (SNoLev w), f x = k x)∀z, SNo z∀g h : setset, (∀uSNoS_ (SNoLev z), g u = h u)G w f z g = G w k z h
Proof:
Proof not loaded.
Theorem. (SNo_rec2_eq_1)
∀w, SNo w∀f : setsetset, ∀z, SNo zSNo_rec_i (G w f) z = G w f z (SNo_rec_i (G w f))
Proof:
Proof not loaded.
Theorem. (SNo_rec2_eq)
∀w, SNo w∀z, SNo zSNo_rec2 w z = F w z SNo_rec2
Proof:
Proof not loaded.
End of Section SurrealRec2
Theorem. (SNo_ordinal_ind)
∀P : setprop, (∀alpha, ordinal alpha∀xSNoS_ alpha, P x)(∀x, SNo xP x)
Proof:
Proof not loaded.
Theorem. (SNo_ordinal_ind2)
∀P : setsetprop, (∀alpha, ordinal alpha∀beta, ordinal beta∀xSNoS_ alpha, ∀ySNoS_ beta, P x y)(∀x y, SNo xSNo yP x y)
Proof:
Proof not loaded.
Theorem. (SNo_ordinal_ind3)
∀P : setsetsetprop, (∀alpha, ordinal alpha∀beta, ordinal beta∀gamma, ordinal gamma∀xSNoS_ alpha, ∀ySNoS_ beta, ∀zSNoS_ gamma, P x y z)(∀x y z, SNo xSNo ySNo zP x y z)
Proof:
Proof not loaded.
Theorem. (SNoLev_ind)
∀P : setprop, (∀x, SNo x(∀wSNoS_ (SNoLev x), P w)P x)(∀x, SNo xP x)
Proof:
Proof not loaded.
Theorem. (SNoLev_ind2)
∀P : setsetprop, (∀x y, SNo xSNo y(∀wSNoS_ (SNoLev x), P w y)(∀zSNoS_ (SNoLev y), P x z)(∀wSNoS_ (SNoLev x), ∀zSNoS_ (SNoLev y), P w z)P x y)∀x y, SNo xSNo yP x y
Proof:
Proof not loaded.
Theorem. (SNoLev_ind3)
∀P : setsetsetprop, (∀x y z, SNo xSNo ySNo z(∀uSNoS_ (SNoLev x), P u y z)(∀vSNoS_ (SNoLev y), P x v z)(∀wSNoS_ (SNoLev z), P x y w)(∀uSNoS_ (SNoLev x), ∀vSNoS_ (SNoLev y), P u v z)(∀uSNoS_ (SNoLev x), ∀wSNoS_ (SNoLev z), P u y w)(∀vSNoS_ (SNoLev y), ∀wSNoS_ (SNoLev z), P x v w)(∀uSNoS_ (SNoLev x), ∀vSNoS_ (SNoLev y), ∀wSNoS_ (SNoLev z), P u v w)P x y z)∀x y z, SNo xSNo ySNo zP x y z
Proof:
Proof not loaded.
Theorem. (SNo_omega)
Proof:
Proof not loaded.
Theorem. (SNoLt_0_1)
0 < 1
Proof:
Proof not loaded.
Theorem. (SNoLt_0_2)
0 < 2
Proof:
Proof not loaded.
Theorem. (SNoLt_1_2)
1 < 2
Proof:
Proof not loaded.
Theorem. (restr_SNo_)
∀x, SNo x∀alphaSNoLev x, SNo_ alpha (x SNoElts_ alpha)
Proof:
Proof not loaded.
Theorem. (restr_SNo)
∀x, SNo x∀alphaSNoLev x, SNo (x SNoElts_ alpha)
Proof:
Proof not loaded.
Theorem. (restr_SNoLev)
∀x, SNo x∀alphaSNoLev x, SNoLev (x SNoElts_ alpha) = alpha
Proof:
Proof not loaded.
Theorem. (restr_SNoEq)
∀x, SNo x∀alphaSNoLev x, SNoEq_ alpha (x SNoElts_ alpha) x
Proof:
Proof not loaded.
Theorem. (SNo_extend0_restr_eq)
∀x, SNo xx = SNo_extend0 x SNoElts_ (SNoLev x)
Proof:
Proof not loaded.
Theorem. (SNo_extend1_restr_eq)
∀x, SNo xx = SNo_extend1 x SNoElts_ (SNoLev x)
Proof:
Proof not loaded.
Beginning of Section SurrealMinus
Definition. We define minus_SNo to be SNo_rec_i (λx m ⇒ SNoCut {m z|zSNoR x} {m w|wSNoL x}) of type setset.
Notation. We use - as a prefix operator with priority 358 corresponding to applying term minus_SNo.
Notation. We use as an infix operator with priority 490 and no associativity corresponding to applying term SNoLe.
Theorem. (minus_SNo_eq)
∀x, SNo x- x = SNoCut {- z|zSNoR x} {- w|wSNoL x}
Proof:
Proof not loaded.
Theorem. (minus_SNo_prop1)
∀x, SNo xSNo (- x) (∀uSNoL x, - x < - u) (∀uSNoR x, - u < - x) SNoCutP {- z|zSNoR x} {- w|wSNoL x}
Proof:
Proof not loaded.
Theorem. (SNo_minus_SNo)
∀x, SNo xSNo (- x)
Proof:
Proof not loaded.
Theorem. (minus_SNo_Lt_contra)
∀x y, SNo xSNo yx < y- y < - x
Proof:
Proof not loaded.
Theorem. (minus_SNo_Le_contra)
∀x y, SNo xSNo yx y- y - x
Proof:
Proof not loaded.
Theorem. (minus_SNo_SNoCutP)
∀x, SNo xSNoCutP {- z|zSNoR x} {- w|wSNoL x}
Proof:
Proof not loaded.
Theorem. (minus_SNo_SNoCutP_gen)
∀L R, SNoCutP L RSNoCutP {- z|zR} {- w|wL}
Proof:
Proof not loaded.
Theorem. (minus_SNo_Lev_lem1)
∀alpha, ordinal alpha∀xSNoS_ alpha, SNoLev (- x) SNoLev x
Proof:
Proof not loaded.
Theorem. (minus_SNo_Lev_lem2)
∀x, SNo xSNoLev (- x) SNoLev x
Proof:
Proof not loaded.
Theorem. (minus_SNo_invol)
∀x, SNo x- - x = x
Proof:
Proof not loaded.
Theorem. (minus_SNo_Lev)
∀x, SNo xSNoLev (- x) = SNoLev x
Proof:
Proof not loaded.
Theorem. (minus_SNo_SNo_)
∀alpha, ordinal alpha∀x, SNo_ alpha xSNo_ alpha (- x)
Proof:
Proof not loaded.
Theorem. (minus_SNo_SNoS_)
∀alpha, ordinal alpha∀x, x SNoS_ alpha- x SNoS_ alpha
Proof:
Proof not loaded.
Theorem. (minus_SNoCut_eq_lem)
∀v, SNo v∀L R, SNoCutP L Rv = SNoCut L R- v = SNoCut {- z|zR} {- w|wL}
Proof:
Proof not loaded.
Theorem. (minus_SNoCut_eq)
∀L R, SNoCutP L R- SNoCut L R = SNoCut {- z|zR} {- w|wL}
Proof:
Proof not loaded.
Theorem. (minus_SNo_Lt_contra1)
∀x y, SNo xSNo y- x < y- y < x
Proof:
Proof not loaded.
Theorem. (minus_SNo_Lt_contra2)
∀x y, SNo xSNo yx < - yy < - x
Proof:
Proof not loaded.
Theorem. (mordinal_SNoLev_min_2)
∀alpha, ordinal alpha∀z, SNo zSNoLev z ordsucc alpha- alpha z
Proof:
Proof not loaded.
Proof:
Proof not loaded.
Theorem. (SNoL_minus_SNoR)
∀x, SNo xSNoL (- x) = {- w|wSNoR x}
Proof:
Proof not loaded.
End of Section SurrealMinus
Beginning of Section SurrealAdd
Notation. We use - as a prefix operator with priority 358 corresponding to applying term minus_SNo.
Definition. We define add_SNo to be SNo_rec2 (λx y a ⇒ SNoCut ({a w y|wSNoL x} {a x w|wSNoL y}) ({a z y|zSNoR x} {a x z|zSNoR y})) of type setsetset.
Notation. We use + as an infix operator with priority 360 and which associates to the right corresponding to applying term add_SNo.
Theorem. (add_SNo_eq)
∀x, SNo x∀y, SNo yx + y = SNoCut ({w + y|wSNoL x} {x + w|wSNoL y}) ({z + y|zSNoR x} {x + z|zSNoR y})
Proof:
Proof not loaded.
Theorem. (add_SNo_prop1)
∀x y, SNo xSNo ySNo (x + y) (∀uSNoL x, u + y < x + y) (∀uSNoR x, x + y < u + y) (∀uSNoL y, x + u < x + y) (∀uSNoR y, x + y < x + u) SNoCutP ({w + y|wSNoL x} {x + w|wSNoL y}) ({z + y|zSNoR x} {x + z|zSNoR y})
Proof:
Proof not loaded.
Theorem. (SNo_add_SNo)
∀x y, SNo xSNo ySNo (x + y)
Proof:
Proof not loaded.
Theorem. (SNo_add_SNo_3)
∀x y z, SNo xSNo ySNo zSNo (x + y + z)
Proof:
Proof not loaded.
Theorem. (SNo_add_SNo_3c)
∀x y z, SNo xSNo ySNo zSNo (x + y + - z)
Proof:
Proof not loaded.
Theorem. (SNo_add_SNo_4)
∀x y z w, SNo xSNo ySNo zSNo wSNo (x + y + z + w)
Proof:
Proof not loaded.
Theorem. (add_SNo_Lt1)
∀x y z, SNo xSNo ySNo zx < zx + y < z + y
Proof:
Proof not loaded.
Theorem. (add_SNo_Le1)
∀x y z, SNo xSNo ySNo zx zx + y z + y
Proof:
Proof not loaded.
Theorem. (add_SNo_Lt2)
∀x y z, SNo xSNo ySNo zy < zx + y < x + z
Proof:
Proof not loaded.
Theorem. (add_SNo_Le2)
∀x y z, SNo xSNo ySNo zy zx + y x + z
Proof:
Proof not loaded.
Theorem. (add_SNo_Lt3a)
∀x y z w, SNo xSNo ySNo zSNo wx < zy wx + y < z + w
Proof:
Proof not loaded.
Theorem. (add_SNo_Lt3b)
∀x y z w, SNo xSNo ySNo zSNo wx zy < wx + y < z + w
Proof:
Proof not loaded.
Theorem. (add_SNo_Lt3)
∀x y z w, SNo xSNo ySNo zSNo wx < zy < wx + y < z + w
Proof:
Proof not loaded.
Theorem. (add_SNo_Le3)
∀x y z w, SNo xSNo ySNo zSNo wx zy wx + y z + w
Proof:
Proof not loaded.
Theorem. (add_SNo_SNoCutP)
∀x y, SNo xSNo ySNoCutP ({w + y|wSNoL x} {x + w|wSNoL y}) ({z + y|zSNoR x} {x + z|zSNoR y})
Proof:
Proof not loaded.
Theorem. (add_SNo_com)
∀x y, SNo xSNo yx + y = y + x
Proof:
Proof not loaded.
Theorem. (add_SNo_0L)
∀x, SNo x0 + x = x
Proof:
Proof not loaded.
Theorem. (add_SNo_0R)
∀x, SNo xx + 0 = x
Proof:
Proof not loaded.
Theorem. (add_SNo_minus_SNo_linv)
∀x, SNo x- x + x = 0
Proof:
Proof not loaded.
Theorem. (add_SNo_minus_SNo_rinv)
∀x, SNo xx + - x = 0
Proof:
Proof not loaded.
Theorem. (add_SNo_ordinal_SNoCutP)
∀alpha, ordinal alpha∀beta, ordinal betaSNoCutP ({x + beta|xSNoS_ alpha} {alpha + x|xSNoS_ beta}) Empty
Proof:
Proof not loaded.
Theorem. (add_SNo_ordinal_eq)
∀alpha, ordinal alpha∀beta, ordinal betaalpha + beta = SNoCut ({x + beta|xSNoS_ alpha} {alpha + x|xSNoS_ beta}) Empty
Proof:
Proof not loaded.
Theorem. (add_SNo_ordinal_ordinal)
∀alpha, ordinal alpha∀beta, ordinal betaordinal (alpha + beta)
Proof:
Proof not loaded.
Theorem. (add_SNo_ordinal_SL)
∀alpha, ordinal alpha∀beta, ordinal betaordsucc alpha + beta = ordsucc (alpha + beta)
Proof:
Proof not loaded.
Theorem. (add_SNo_ordinal_SR)
∀alpha, ordinal alpha∀beta, ordinal betaalpha + ordsucc beta = ordsucc (alpha + beta)
Proof:
Proof not loaded.
Theorem. (add_SNo_ordinal_InL)
∀alpha, ordinal alpha∀beta, ordinal beta∀gammaalpha, gamma + beta alpha + beta
Proof:
Proof not loaded.
Theorem. (add_SNo_ordinal_InR)
∀alpha, ordinal alpha∀beta, ordinal beta∀gammabeta, alpha + gamma alpha + beta
Proof:
Proof not loaded.
Theorem. (add_nat_add_SNo)
∀n mω, add_nat n m = n + m
Proof:
Proof not loaded.
Theorem. (add_SNo_In_omega)
∀n mω, n + m ω
Proof:
Proof not loaded.
Theorem. (add_SNo_1_1_2)
1 + 1 = 2
Proof:
Proof not loaded.
Theorem. (add_SNo_SNoL_interpolate)
∀x y, SNo xSNo y∀uSNoL (x + y), (∃vSNoL x, u v + y) (∃vSNoL y, u x + v)
Proof:
Proof not loaded.
Theorem. (add_SNo_SNoR_interpolate)
∀x y, SNo xSNo y∀uSNoR (x + y), (∃vSNoR x, v + y u) (∃vSNoR y, x + v u)
Proof:
Proof not loaded.
Theorem. (add_SNo_assoc)
∀x y z, SNo xSNo ySNo zx + (y + z) = (x + y) + z
Proof:
Proof not loaded.
Theorem. (add_SNo_minus_R2)
∀x y, SNo xSNo y(x + y) + - y = x
Proof:
Proof not loaded.
Theorem. (add_SNo_minus_R2')
∀x y, SNo xSNo y(x + - y) + y = x
Proof:
Proof not loaded.
Theorem. (add_SNo_minus_L2)
∀x y, SNo xSNo y- x + (x + y) = y
Proof:
Proof not loaded.
Theorem. (add_SNo_minus_L2')
∀x y, SNo xSNo yx + (- x + y) = y
Proof:
Proof not loaded.
Theorem. (add_SNo_cancel_L)
∀x y z, SNo xSNo ySNo zx + y = x + zy = z
Proof:
Proof not loaded.
Theorem. (add_SNo_cancel_R)
∀x y z, SNo xSNo ySNo zx + y = z + yx = z
Proof:
Proof not loaded.
Theorem. (minus_SNo_0)
- 0 = 0
Proof:
Proof not loaded.
Theorem. (minus_add_SNo_distr)
∀x y, SNo xSNo y- (x + y) = (- x) + (- y)
Proof:
Proof not loaded.
Theorem. (minus_add_SNo_distr_3)
∀x y z, SNo xSNo ySNo z- (x + y + z) = - x + - y + - z
Proof:
Proof not loaded.
Theorem. (add_SNo_Lev_bd)
∀x y, SNo xSNo ySNoLev (x + y) SNoLev x + SNoLev y
Proof:
Proof not loaded.
Theorem. (add_SNo_SNoS_omega)
∀x ySNoS_ ω, x + y SNoS_ ω
Proof:
Proof not loaded.
Theorem. (add_SNo_Lt1_cancel)
∀x y z, SNo xSNo ySNo zx + y < z + yx < z
Proof:
Proof not loaded.
Theorem. (add_SNo_Lt2_cancel)
∀x y z, SNo xSNo ySNo zx + y < x + zy < z
Proof:
Proof not loaded.
Theorem. (add_SNo_Le1_cancel)
∀x y z, SNo xSNo ySNo zx + y z + yx z
Proof:
Proof not loaded.
Theorem. (add_SNo_assoc_4)
∀x y z w, SNo xSNo ySNo zSNo wx + y + z + w = (x + y + z) + w
Proof:
Proof not loaded.
Theorem. (add_SNo_com_3_0_1)
∀x y z, SNo xSNo ySNo zx + y + z = y + x + z
Proof:
Proof not loaded.
Theorem. (add_SNo_com_3b_1_2)
∀x y z, SNo xSNo ySNo z(x + y) + z = (x + z) + y
Proof:
Proof not loaded.
Theorem. (add_SNo_com_4_inner_mid)
∀x y z w, SNo xSNo ySNo zSNo w(x + y) + (z + w) = (x + z) + (y + w)
Proof:
Proof not loaded.
Theorem. (add_SNo_rotate_3_1)
∀x y z, SNo xSNo ySNo zx + y + z = z + x + y
Proof:
Proof not loaded.
Theorem. (add_SNo_rotate_4_1)
∀x y z w, SNo xSNo ySNo zSNo wx + y + z + w = w + x + y + z
Proof:
Proof not loaded.
Theorem. (add_SNo_rotate_5_1)
∀x y z w v, SNo xSNo ySNo zSNo wSNo vx + y + z + w + v = v + x + y + z + w
Proof:
Proof not loaded.
Theorem. (add_SNo_rotate_5_2)
∀x y z w v, SNo xSNo ySNo zSNo wSNo vx + y + z + w + v = w + v + x + y + z
Proof:
Proof not loaded.
Theorem. (add_SNo_minus_SNo_prop2)
∀x y, SNo xSNo yx + - x + y = y
Proof:
Proof not loaded.
Theorem. (add_SNo_minus_SNo_prop3)
∀x y z w, SNo xSNo ySNo zSNo w(x + y + z) + (- z + w) = x + y + w
Proof:
Proof not loaded.
Theorem. (add_SNo_minus_SNo_prop5)
∀x y z w, SNo xSNo ySNo zSNo w(x + y + - z) + (z + w) = x + y + w
Proof:
Proof not loaded.
Theorem. (add_SNo_minus_Lt1)
∀x y z, SNo xSNo ySNo zx + - y < zx < z + y
Proof:
Proof not loaded.
Theorem. (add_SNo_minus_Lt2)
∀x y z, SNo xSNo ySNo zz < x + - yz + y < x
Proof:
Proof not loaded.
Theorem. (add_SNo_minus_Lt1b)
∀x y z, SNo xSNo ySNo zx < z + yx + - y < z
Proof:
Proof not loaded.
Theorem. (add_SNo_minus_Lt2b)
∀x y z, SNo xSNo ySNo zz + y < xz < x + - y
Proof:
Proof not loaded.
Theorem. (add_SNo_minus_Lt1b3)
∀x y z w, SNo xSNo ySNo zSNo wx + y < w + zx + y + - z < w
Proof:
Proof not loaded.
Theorem. (add_SNo_minus_Lt2b3)
∀x y z w, SNo xSNo ySNo zSNo ww + z < x + yw < x + y + - z
Proof:
Proof not loaded.
Theorem. (add_SNo_minus_Lt_lem)
∀x y z u v w, SNo xSNo ySNo zSNo uSNo vSNo wx + y + w < u + v + zx + y + - z < u + v + - w
Proof:
Proof not loaded.
Theorem. (add_SNo_minus_Le2)
∀x y z, SNo xSNo ySNo zz x + - yz + y x
Proof:
Proof not loaded.
Theorem. (add_SNo_minus_Le2b)
∀x y z, SNo xSNo ySNo zz + y xz x + - y
Proof:
Proof not loaded.
Theorem. (add_SNo_Lt_subprop2)
∀x y z w u v, SNo xSNo ySNo zSNo wSNo uSNo vx + u < z + vy + v < w + ux + y < z + w
Proof:
Proof not loaded.
Theorem. (add_SNo_Lt_subprop3a)
∀x y z w u a, SNo xSNo ySNo zSNo wSNo uSNo ax + z < w + ay + a < ux + y + z < w + u
Proof:
Proof not loaded.
Theorem. (add_SNo_Lt_subprop3b)
∀x y w u v a, SNo xSNo ySNo wSNo uSNo vSNo ax + a < w + vy < a + ux + y < w + u + v
Proof:
Proof not loaded.
Theorem. (add_SNo_Lt_subprop3c)
∀x y z w u a b c, SNo xSNo ySNo zSNo wSNo uSNo aSNo bSNo cx + a < b + cy + c < ub + z < w + ax + y + z < w + u
Proof:
Proof not loaded.
Theorem. (add_SNo_Lt_subprop3d)
∀x y w u v a b c, SNo xSNo ySNo wSNo uSNo vSNo aSNo bSNo cx + a < b + vy < c + ub + c < w + ax + y < w + u + v
Proof:
Proof not loaded.
Theorem. (ordinal_ordsucc_SNo_eq)
∀alpha, ordinal alphaordsucc alpha = 1 + alpha
Proof:
Proof not loaded.
Theorem. (add_SNo_3a_2b)
∀x y z w u, SNo xSNo ySNo zSNo wSNo u(x + y + z) + (w + u) = (u + y + z) + (w + x)
Proof:
Proof not loaded.
Theorem. (add_SNo_1_ordsucc)
∀nω, n + 1 = ordsucc n
Proof:
Proof not loaded.
Theorem. (add_SNo_eps_Lt)
∀x, SNo x∀nω, x < x + eps_ n
Proof:
Proof not loaded.
Theorem. (add_SNo_eps_Lt')
∀x y, SNo xSNo y∀nω, x < yx < y + eps_ n
Proof:
Proof not loaded.
Theorem. (SNoLt_minus_pos)
∀x y, SNo xSNo yx < y0 < y + - x
Proof:
Proof not loaded.
Theorem. (add_SNo_omega_In_cases)
∀m, ∀nω, ∀k, nat_p km n + km n m + - n k
Proof:
Proof not loaded.
Theorem. (add_SNo_Lt4)
∀x y z w u v, SNo xSNo ySNo zSNo wSNo uSNo vx < wy < uz < vx + y + z < w + u + v
Proof:
Proof not loaded.
Theorem. (add_SNo_3_3_3_Lt1)
∀x y z w u, SNo xSNo ySNo zSNo wSNo ux + y < z + wx + y + u < z + w + u
Proof:
Proof not loaded.
Theorem. (add_SNo_3_2_3_Lt1)
∀x y z w u, SNo xSNo ySNo zSNo wSNo uy + x < z + wx + u + y < z + w + u
Proof:
Proof not loaded.
Theorem. (add_SNo_minus_Lt12b3)
∀x y z w u v, SNo xSNo ySNo zSNo wSNo uSNo vx + y + v < w + u + zx + y + - z < w + u + - v
Proof:
Proof not loaded.
Theorem. (add_SNo_minus_Le1b)
∀x y z, SNo xSNo ySNo zx z + yx + - y z
Proof:
Proof not loaded.
Theorem. (add_SNo_minus_Le1b3)
∀x y z w, SNo xSNo ySNo zSNo wx + y w + zx + y + - z w
Proof:
Proof not loaded.
Theorem. (add_SNo_minus_Le12b3)
∀x y z w u v, SNo xSNo ySNo zSNo wSNo uSNo vx + y + v w + u + zx + y + - z w + u + - v
Proof:
Proof not loaded.
End of Section SurrealAdd
Beginning of Section SurrealAbs
Notation. We use - as a prefix operator with priority 358 corresponding to applying term minus_SNo.
Notation. We use + as an infix operator with priority 360 and which associates to the right corresponding to applying term add_SNo.
Notation. We use * as an infix operator with priority 355 and which associates to the right corresponding to applying term mul_SNo.
Definition. We define abs_SNo to be λx ⇒ if 0 x then x else - x of type setset.
Theorem. (nonneg_abs_SNo)
∀x, 0 xabs_SNo x = x
Proof:
Proof not loaded.
Theorem. (not_nonneg_abs_SNo)
∀x, ¬ (0 x)abs_SNo x = - x
Proof:
Proof not loaded.
Theorem. (pos_abs_SNo)
∀x, 0 < xabs_SNo x = x
Proof:
Proof not loaded.
Theorem. (neg_abs_SNo)
∀x, SNo xx < 0abs_SNo x = - x
Proof:
Proof not loaded.
Theorem. (SNo_abs_SNo)
∀x, SNo xSNo (abs_SNo x)
Proof:
Proof not loaded.
Theorem. (abs_SNo_minus)
∀x, SNo xabs_SNo (- x) = abs_SNo x
Proof:
Proof not loaded.
Theorem. (abs_SNo_dist_swap)
∀x y, SNo xSNo yabs_SNo (x + - y) = abs_SNo (y + - x)
Proof:
Proof not loaded.
End of Section SurrealAbs
Beginning of Section SurrealMul
Notation. We use - as a prefix operator with priority 358 corresponding to applying term minus_SNo.
Notation. We use + as an infix operator with priority 360 and which associates to the right corresponding to applying term add_SNo.
Definition. We define mul_SNo to be SNo_rec2 (λx y m ⇒ SNoCut ({m (w 0) y + m x (w 1) + - m (w 0) (w 1)|wSNoL x SNoL y} {m (z 0) y + m x (z 1) + - m (z 0) (z 1)|zSNoR x SNoR y}) ({m (w 0) y + m x (w 1) + - m (w 0) (w 1)|wSNoL x SNoR y} {m (z 0) y + m x (z 1) + - m (z 0) (z 1)|zSNoR x SNoL y})) of type setsetset.
Notation. We use * as an infix operator with priority 355 and which associates to the right corresponding to applying term mul_SNo.
Theorem. (mul_SNo_eq)
∀x, SNo x∀y, SNo yx * y = SNoCut ({(w 0) * y + x * (w 1) + - (w 0) * (w 1)|wSNoL x SNoL y} {(z 0) * y + x * (z 1) + - (z 0) * (z 1)|zSNoR x SNoR y}) ({(w 0) * y + x * (w 1) + - (w 0) * (w 1)|wSNoL x SNoR y} {(z 0) * y + x * (z 1) + - (z 0) * (z 1)|zSNoR x SNoL y})
Proof:
Proof not loaded.
Theorem. (mul_SNo_eq_2)
∀x y, SNo xSNo y∀p : prop, (∀L R, (∀u, u L(∀q : prop, (∀w0SNoL x, ∀w1SNoL y, u = w0 * y + x * w1 + - w0 * w1q)(∀z0SNoR x, ∀z1SNoR y, u = z0 * y + x * z1 + - z0 * z1q)q))(∀w0SNoL x, ∀w1SNoL y, w0 * y + x * w1 + - w0 * w1 L)(∀z0SNoR x, ∀z1SNoR y, z0 * y + x * z1 + - z0 * z1 L)(∀u, u R(∀q : prop, (∀w0SNoL x, ∀z1SNoR y, u = w0 * y + x * z1 + - w0 * z1q)(∀z0SNoR x, ∀w1SNoL y, u = z0 * y + x * w1 + - z0 * w1q)q))(∀w0SNoL x, ∀z1SNoR y, w0 * y + x * z1 + - w0 * z1 R)(∀z0SNoR x, ∀w1SNoL y, z0 * y + x * w1 + - z0 * w1 R)x * y = SNoCut L Rp)p
Proof:
Proof not loaded.
Theorem. (mul_SNo_prop_1)
∀x, SNo x∀y, SNo y∀p : prop, (SNo (x * y)(∀uSNoL x, ∀vSNoL y, u * y + x * v < x * y + u * v)(∀uSNoR x, ∀vSNoR y, u * y + x * v < x * y + u * v)(∀uSNoL x, ∀vSNoR y, x * y + u * v < u * y + x * v)(∀uSNoR x, ∀vSNoL y, x * y + u * v < u * y + x * v)p)p
Proof:
Proof not loaded.
Theorem. (SNo_mul_SNo)
∀x y, SNo xSNo ySNo (x * y)
Proof:
Proof not loaded.
Theorem. (SNo_mul_SNo_lem)
∀x y u v, SNo xSNo ySNo uSNo vSNo (u * y + x * v + - (u * v))
Proof:
Proof not loaded.
Theorem. (SNo_mul_SNo_3)
∀x y z, SNo xSNo ySNo zSNo (x * y * z)
Proof:
Proof not loaded.
Theorem. (mul_SNo_eq_3)
∀x y, SNo xSNo y∀p : prop, (∀L R, SNoCutP L R(∀u, u L(∀q : prop, (∀w0SNoL x, ∀w1SNoL y, u = w0 * y + x * w1 + - w0 * w1q)(∀z0SNoR x, ∀z1SNoR y, u = z0 * y + x * z1 + - z0 * z1q)q))(∀w0SNoL x, ∀w1SNoL y, w0 * y + x * w1 + - w0 * w1 L)(∀z0SNoR x, ∀z1SNoR y, z0 * y + x * z1 + - z0 * z1 L)(∀u, u R(∀q : prop, (∀w0SNoL x, ∀z1SNoR y, u = w0 * y + x * z1 + - w0 * z1q)(∀z0SNoR x, ∀w1SNoL y, u = z0 * y + x * w1 + - z0 * w1q)q))(∀w0SNoL x, ∀z1SNoR y, w0 * y + x * z1 + - w0 * z1 R)(∀z0SNoR x, ∀w1SNoL y, z0 * y + x * w1 + - z0 * w1 R)x * y = SNoCut L Rp)p
Proof:
Proof not loaded.
Theorem. (mul_SNo_Lt)
∀x y u v, SNo xSNo ySNo uSNo vu < xv < yu * y + x * v < x * y + u * v
Proof:
Proof not loaded.
Theorem. (mul_SNo_Le)
∀x y u v, SNo xSNo ySNo uSNo vu xv yu * y + x * v x * y + u * v
Proof:
Proof not loaded.
Theorem. (mul_SNo_SNoL_interpolate)
∀x y, SNo xSNo y∀uSNoL (x * y), (∃vSNoL x, ∃wSNoL y, u + v * w v * y + x * w) (∃vSNoR x, ∃wSNoR y, u + v * w v * y + x * w)
Proof:
Proof not loaded.
Theorem. (mul_SNo_SNoL_interpolate_impred)
∀x y, SNo xSNo y∀uSNoL (x * y), ∀p : prop, (∀vSNoL x, ∀wSNoL y, u + v * w v * y + x * wp)(∀vSNoR x, ∀wSNoR y, u + v * w v * y + x * wp)p
Proof:
Proof not loaded.
Theorem. (mul_SNo_SNoR_interpolate)
∀x y, SNo xSNo y∀uSNoR (x * y), (∃vSNoL x, ∃wSNoR y, v * y + x * w u + v * w) (∃vSNoR x, ∃wSNoL y, v * y + x * w u + v * w)
Proof:
Proof not loaded.
Theorem. (mul_SNo_SNoR_interpolate_impred)
∀x y, SNo xSNo y∀uSNoR (x * y), ∀p : prop, (∀vSNoL x, ∀wSNoR y, v * y + x * w u + v * wp)(∀vSNoR x, ∀wSNoL y, v * y + x * w u + v * wp)p
Proof:
Proof not loaded.
Theorem. (mul_SNo_Subq_lem)
∀x y X Y Z W, ∀U U', (∀u, u U(∀q : prop, (∀w0X, ∀w1Y, u = w0 * y + x * w1 + - w0 * w1q)(∀z0Z, ∀z1W, u = z0 * y + x * z1 + - z0 * z1q)q))(∀w0X, ∀w1Y, w0 * y + x * w1 + - w0 * w1 U')(∀w0Z, ∀w1W, w0 * y + x * w1 + - w0 * w1 U')U U'
Proof:
Proof not loaded.
Theorem. (mul_SNo_zeroR)
∀x, SNo xx * 0 = 0
Proof:
Proof not loaded.
Theorem. (mul_SNo_oneR)
∀x, SNo xx * 1 = x
Proof:
Proof not loaded.
Theorem. (mul_SNo_com)
∀x y, SNo xSNo yx * y = y * x
Proof:
Proof not loaded.
Theorem. (mul_SNo_minus_distrL)
∀x y, SNo xSNo y(- x) * y = - x * y
Proof:
Proof not loaded.
Theorem. (mul_SNo_minus_distrR)
∀x y, SNo xSNo yx * (- y) = - (x * y)
Proof:
Proof not loaded.
Theorem. (mul_SNo_distrR)
∀x y z, SNo xSNo ySNo z(x + y) * z = x * z + y * z
Proof:
Proof not loaded.
Theorem. (mul_SNo_distrL)
∀x y z, SNo xSNo ySNo zx * (y + z) = x * y + x * z
Proof:
Proof not loaded.
Beginning of Section mul_SNo_assoc_lems
Variable M : setsetset
Notation. We use * as an infix operator with priority 355 and which associates to the right corresponding to applying term M.
Hypothesis SNo_M : ∀x y, SNo xSNo ySNo (x * y)
Hypothesis DL : ∀x y z, SNo xSNo ySNo zx * (y + z) = x * y + x * z
Hypothesis DR : ∀x y z, SNo xSNo ySNo z(x + y) * z = x * z + y * z
Hypothesis IL : ∀x y, SNo xSNo y∀uSNoL (x * y), ∀p : prop, (∀vSNoL x, ∀wSNoL y, u + v * w v * y + x * wp)(∀vSNoR x, ∀wSNoR y, u + v * w v * y + x * wp)p
Hypothesis IR : ∀x y, SNo xSNo y∀uSNoR (x * y), ∀p : prop, (∀vSNoL x, ∀wSNoR y, v * y + x * w u + v * wp)(∀vSNoR x, ∀wSNoL y, v * y + x * w u + v * wp)p
Hypothesis M_Lt : ∀x y u v, SNo xSNo ySNo uSNo vu < xv < yu * y + x * v < x * y + u * v
Hypothesis M_Le : ∀x y u v, SNo xSNo ySNo uSNo vu xv yu * y + x * v x * y + u * v
Theorem. (mul_SNo_assoc_lem1)
∀x y z, SNo xSNo ySNo z(∀uSNoS_ (SNoLev x), u * (y * z) = (u * y) * z)(∀vSNoS_ (SNoLev y), x * (v * z) = (x * v) * z)(∀wSNoS_ (SNoLev z), x * (y * w) = (x * y) * w)(∀uSNoS_ (SNoLev x), ∀vSNoS_ (SNoLev y), u * (v * z) = (u * v) * z)(∀uSNoS_ (SNoLev x), ∀wSNoS_ (SNoLev z), u * (y * w) = (u * y) * w)(∀vSNoS_ (SNoLev y), ∀wSNoS_ (SNoLev z), x * (v * w) = (x * v) * w)(∀uSNoS_ (SNoLev x), ∀vSNoS_ (SNoLev y), ∀wSNoS_ (SNoLev z), u * (v * w) = (u * v) * w)∀L, (∀uL, ∀q : prop, (∀vSNoL x, ∀wSNoL (y * z), u = v * (y * z) + x * w + - v * wq)(∀vSNoR x, ∀wSNoR (y * z), u = v * (y * z) + x * w + - v * wq)q)∀uL, u < (x * y) * z
Proof:
Proof not loaded.
Theorem. (mul_SNo_assoc_lem2)
∀x y z, SNo xSNo ySNo z(∀uSNoS_ (SNoLev x), u * (y * z) = (u * y) * z)(∀vSNoS_ (SNoLev y), x * (v * z) = (x * v) * z)(∀wSNoS_ (SNoLev z), x * (y * w) = (x * y) * w)(∀uSNoS_ (SNoLev x), ∀vSNoS_ (SNoLev y), u * (v * z) = (u * v) * z)(∀uSNoS_ (SNoLev x), ∀wSNoS_ (SNoLev z), u * (y * w) = (u * y) * w)(∀vSNoS_ (SNoLev y), ∀wSNoS_ (SNoLev z), x * (v * w) = (x * v) * w)(∀uSNoS_ (SNoLev x), ∀vSNoS_ (SNoLev y), ∀wSNoS_ (SNoLev z), u * (v * w) = (u * v) * w)∀R, (∀uR, ∀q : prop, (∀vSNoL x, ∀wSNoR (y * z), u = v * (y * z) + x * w + - v * wq)(∀vSNoR x, ∀wSNoL (y * z), u = v * (y * z) + x * w + - v * wq)q)∀uR, (x * y) * z < u
Proof:
Proof not loaded.
End of Section mul_SNo_assoc_lems
Theorem. (mul_SNo_assoc)
∀x y z, SNo xSNo ySNo zx * (y * z) = (x * y) * z
Proof:
Proof not loaded.
Theorem. (mul_nat_mul_SNo)
∀n mω, mul_nat n m = n * m
Proof:
Proof not loaded.
Theorem. (mul_SNo_In_omega)
∀n mω, n * m ω
Proof:
Proof not loaded.
Theorem. (mul_SNo_zeroL)
∀x, SNo x0 * x = 0
Proof:
Proof not loaded.
Theorem. (mul_SNo_oneL)
∀x, SNo x1 * x = x
Proof:
Proof not loaded.
Theorem. (mul_SNo_rotate_3_1)
∀x y z, SNo xSNo ySNo zx * y * z = z * x * y
Proof:
Proof not loaded.
Theorem. (pos_mul_SNo_Lt)
∀x y z, SNo x0 < xSNo ySNo zy < zx * y < x * z
Proof:
Proof not loaded.
Theorem. (nonneg_mul_SNo_Le)
∀x y z, SNo x0 xSNo ySNo zy zx * y x * z
Proof:
Proof not loaded.
Theorem. (neg_mul_SNo_Lt)
∀x y z, SNo xx < 0SNo ySNo zz < yx * y < x * z
Proof:
Proof not loaded.
Theorem. (pos_mul_SNo_Lt')
∀x y z, SNo xSNo ySNo z0 < zx < yx * z < y * z
Proof:
Proof not loaded.
Theorem. (mul_SNo_Lt1_pos_Lt)
∀x y, SNo xSNo yx < 10 < yx * y < y
Proof:
Proof not loaded.
Theorem. (nonneg_mul_SNo_Le')
∀x y z, SNo xSNo ySNo z0 zx yx * z y * z
Proof:
Proof not loaded.
Theorem. (mul_SNo_Le1_nonneg_Le)
∀x y, SNo xSNo yx 10 yx * y y
Proof:
Proof not loaded.
Theorem. (pos_mul_SNo_Lt2)
∀x y z w, SNo xSNo ySNo zSNo w0 < x0 < yx < zy < wx * y < z * w
Proof:
Proof not loaded.
Theorem. (nonneg_mul_SNo_Le2)
∀x y z w, SNo xSNo ySNo zSNo w0 x0 yx zy wx * y z * w
Proof:
Proof not loaded.
Theorem. (mul_SNo_pos_pos)
∀x y, SNo xSNo y0 < x0 < y0 < x * y
Proof:
Proof not loaded.
Theorem. (mul_SNo_pos_neg)
∀x y, SNo xSNo y0 < xy < 0x * y < 0
Proof:
Proof not loaded.
Theorem. (mul_SNo_neg_pos)
∀x y, SNo xSNo yx < 00 < yx * y < 0
Proof:
Proof not loaded.
Theorem. (mul_SNo_neg_neg)
∀x y, SNo xSNo yx < 0y < 00 < x * y
Proof:
Proof not loaded.
Theorem. (mul_SNo_nonneg_nonneg)
∀x y, SNo xSNo y0 x0 y0 x * y
Proof:
Proof not loaded.
Theorem. (mul_SNo_nonpos_pos)
∀x y, SNo xSNo yx 00 < yx * y 0
Proof:
Proof not loaded.
Theorem. (mul_SNo_nonpos_neg)
∀x y, SNo xSNo yx 0y < 00 x * y
Proof:
Proof not loaded.
Theorem. (nonpos_mul_SNo_Le)
∀x y z, SNo xx 0SNo ySNo zz yx * y x * z
Proof:
Proof not loaded.
Theorem. (SNo_zero_or_sqr_pos)
∀x, SNo xx = 0 0 < x * x
Proof:
Proof not loaded.
Theorem. (SNo_pos_sqr_uniq)
∀x y, SNo xSNo y0 < x0 < yx * x = y * yx = y
Proof:
Proof not loaded.
Theorem. (SNo_nonneg_sqr_uniq)
∀x y, SNo xSNo y0 x0 yx * x = y * yx = y
Proof:
Proof not loaded.
Theorem. (SNo_foil)
∀x y z w, SNo xSNo ySNo zSNo w(x + y) * (z + w) = x * z + x * w + y * z + y * w
Proof:
Proof not loaded.
Theorem. (mul_SNo_minus_minus)
∀x y, SNo xSNo y(- x) * (- y) = x * y
Proof:
Proof not loaded.
Theorem. (mul_SNo_com_3_0_1)
∀x y z, SNo xSNo ySNo zx * y * z = y * x * z
Proof:
Proof not loaded.
Theorem. (mul_SNo_com_3b_1_2)
∀x y z, SNo xSNo ySNo z(x * y) * z = (x * z) * y
Proof:
Proof not loaded.
Theorem. (mul_SNo_com_4_inner_mid)
∀x y z w, SNo xSNo ySNo zSNo w(x * y) * (z * w) = (x * z) * (y * w)
Proof:
Proof not loaded.
Theorem. (SNo_foil_mm)
∀x y z w, SNo xSNo ySNo zSNo w(x + - y) * (z + - w) = x * z + - x * w + - y * z + y * w
Proof:
Proof not loaded.
Theorem. (mul_SNo_nonzero_cancel)
∀x y z, SNo xx 0SNo ySNo zx * y = x * zy = z
Proof:
Proof not loaded.
Theorem. (mul_SNoCutP_lem)
∀Lx Rx Ly Ry x y, SNoCutP Lx RxSNoCutP Ly Ryx = SNoCut Lx Rxy = SNoCut Ly RySNoCutP ({w 0 * y + x * w 1 + - w 0 * w 1|wLx Ly} {z 0 * y + x * z 1 + - z 0 * z 1|zRx Ry}) ({w 0 * y + x * w 1 + - w 0 * w 1|wLx Ry} {z 0 * y + x * z 1 + - z 0 * z 1|zRx Ly}) x * y = SNoCut ({w 0 * y + x * w 1 + - w 0 * w 1|wLx Ly} {z 0 * y + x * z 1 + - z 0 * z 1|zRx Ry}) ({w 0 * y + x * w 1 + - w 0 * w 1|wLx Ry} {z 0 * y + x * z 1 + - z 0 * z 1|zRx Ly}) ∀q : prop, (∀LxLy' RxRy' LxRy' RxLy', (∀uLxLy', ∀p : prop, (∀wLx, ∀w'Ly, SNo wSNo w'w < xw' < yu = w * y + x * w' + - w * w'p)p)(∀wLx, ∀w'Ly, w * y + x * w' + - w * w' LxLy')(∀uRxRy', ∀p : prop, (∀zRx, ∀z'Ry, SNo zSNo z'x < zy < z'u = z * y + x * z' + - z * z'p)p)(∀zRx, ∀z'Ry, z * y + x * z' + - z * z' RxRy')(∀uLxRy', ∀p : prop, (∀wLx, ∀zRy, SNo wSNo zw < xy < zu = w * y + x * z + - w * zp)p)(∀wLx, ∀zRy, w * y + x * z + - w * z LxRy')(∀uRxLy', ∀p : prop, (∀zRx, ∀wLy, SNo zSNo wx < zw < yu = z * y + x * w + - z * wp)p)(∀zRx, ∀wLy, z * y + x * w + - z * w RxLy')SNoCutP (LxLy' RxRy') (LxRy' RxLy')x * y = SNoCut (LxLy' RxRy') (LxRy' RxLy')q)q
Proof:
Proof not loaded.
Theorem. (mul_SNoCut_abs)
∀Lx Rx Ly Ry x y, SNoCutP Lx RxSNoCutP Ly Ryx = SNoCut Lx Rxy = SNoCut Ly Ry∀q : prop, (∀LxLy' RxRy' LxRy' RxLy', (∀uLxLy', ∀p : prop, (∀wLx, ∀w'Ly, SNo wSNo w'w < xw' < yu = w * y + x * w' + - w * w'p)p)(∀wLx, ∀w'Ly, w * y + x * w' + - w * w' LxLy')(∀uRxRy', ∀p : prop, (∀zRx, ∀z'Ry, SNo zSNo z'x < zy < z'u = z * y + x * z' + - z * z'p)p)(∀zRx, ∀z'Ry, z * y + x * z' + - z * z' RxRy')(∀uLxRy', ∀p : prop, (∀wLx, ∀zRy, SNo wSNo zw < xy < zu = w * y + x * z + - w * zp)p)(∀wLx, ∀zRy, w * y + x * z + - w * z LxRy')(∀uRxLy', ∀p : prop, (∀zRx, ∀wLy, SNo zSNo wx < zw < yu = z * y + x * w + - z * wp)p)(∀zRx, ∀wLy, z * y + x * w + - z * w RxLy')SNoCutP (LxLy' RxRy') (LxRy' RxLy')x * y = SNoCut (LxLy' RxRy') (LxRy' RxLy')q)q
Proof:
Proof not loaded.
Theorem. (mul_SNo_SNoCut_SNoL_interpolate)
∀Lx Rx Ly Ry, SNoCutP Lx RxSNoCutP Ly Ry∀x y, x = SNoCut Lx Rxy = SNoCut Ly Ry∀uSNoL (x * y), (∃vLx, ∃wLy, u + v * w v * y + x * w) (∃vRx, ∃wRy, u + v * w v * y + x * w)
Proof:
Proof not loaded.
Theorem. (mul_SNo_SNoCut_SNoL_interpolate_impred)
∀Lx Rx Ly Ry, SNoCutP Lx RxSNoCutP Ly Ry∀x y, x = SNoCut Lx Rxy = SNoCut Ly Ry∀uSNoL (x * y), ∀p : prop, (∀vLx, ∀wLy, u + v * w v * y + x * wp)(∀vRx, ∀wRy, u + v * w v * y + x * wp)p
Proof:
Proof not loaded.
Theorem. (mul_SNo_SNoCut_SNoR_interpolate)
∀Lx Rx Ly Ry, SNoCutP Lx RxSNoCutP Ly Ry∀x y, x = SNoCut Lx Rxy = SNoCut Ly Ry∀uSNoR (x * y), (∃vLx, ∃wRy, v * y + x * w u + v * w) (∃vRx, ∃wLy, v * y + x * w u + v * w)
Proof:
Proof not loaded.
Theorem. (mul_SNo_SNoCut_SNoR_interpolate_impred)
∀Lx Rx Ly Ry, SNoCutP Lx RxSNoCutP Ly Ry∀x y, x = SNoCut Lx Rxy = SNoCut Ly Ry∀uSNoR (x * y), ∀p : prop, (∀vLx, ∀wRy, v * y + x * w u + v * wp)(∀vRx, ∀wLy, v * y + x * w u + v * wp)p
Proof:
Proof not loaded.
Theorem. (nonpos_nonneg_0)
∀m nω, m = - nm = 0 n = 0
Proof:
Proof not loaded.
Theorem. (mul_minus_SNo_distrR)
∀x y, SNo xSNo yx * (- y) = - (x * y)
Proof:
Proof not loaded.
End of Section SurrealMul
Beginning of Section Int
Notation. We use - as a prefix operator with priority 358 corresponding to applying term minus_SNo.
Notation. We use + as an infix operator with priority 360 and which associates to the right corresponding to applying term add_SNo.
Notation. We use * as an infix operator with priority 355 and which associates to the right corresponding to applying term mul_SNo.
Definition. We define int to be ω {- n|nω} of type set.
Theorem. (int_SNo_cases)
∀p : setprop, (∀nω, p n)(∀nω, p (- n))∀xint, p x
Proof:
Proof not loaded.
Theorem. (int_3_cases)
∀nint, ∀p : prop, (∀mω, n = - ordsucc mp)(n = 0p)(∀mω, n = ordsucc mp)p
Proof:
Proof not loaded.
Theorem. (int_SNo)
∀xint, SNo x
Proof:
Proof not loaded.
Proof:
Proof not loaded.
Theorem. (int_minus_SNo_omega)
∀nω, - n int
Proof:
Proof not loaded.
Theorem. (int_add_SNo_lem)
∀nω, ∀m, nat_p m- n + m int
Proof:
Proof not loaded.
Theorem. (int_add_SNo)
∀x yint, x + y int
Proof:
Proof not loaded.
Theorem. (int_minus_SNo)
∀xint, - x int
Proof:
Proof not loaded.
Theorem. (int_mul_SNo)
∀x yint, x * y int
Proof:
Proof not loaded.
Theorem. (nonneg_int_nat_p)
∀nint, 0 nnat_p n
Proof:
Proof not loaded.
End of Section Int
Beginning of Section BezoutAndGCD
Notation. We use + as an infix operator with priority 360 and which associates to the right corresponding to applying term add_nat.
Notation. We use * as an infix operator with priority 355 and which associates to the right corresponding to applying term mul_nat.
Theorem. (quotient_remainder_nat)
∀nω {0}, ∀m, nat_p m∃qω, ∃rn, m = q * n + r
Proof:
Proof not loaded.
Notation. We use - as a prefix operator with priority 358 corresponding to applying term minus_SNo.
Notation. We use + as an infix operator with priority 360 and which associates to the right corresponding to applying term add_SNo.
Notation. We use * as an infix operator with priority 355 and which associates to the right corresponding to applying term mul_SNo.
Notation. We use ^ as an infix operator with priority 342 and which associates to the right corresponding to applying term exp_SNo_nat.
Notation. We use < as an infix operator with priority 490 and no associativity corresponding to applying term SNoLt.
Notation. We use as an infix operator with priority 490 and no associativity corresponding to applying term SNoLe.
Theorem. (mul_SNo_nonpos_nonneg)
∀x y, SNo xSNo yx 00 yx * y 0
Proof:
Proof not loaded.
Theorem. (ordinal_0_In_ordsucc)
∀alpha, ordinal alpha0 ordsucc alpha
Proof:
Proof not loaded.
Theorem. (ordinal_ordsucc_pos)
∀alpha, ordinal alpha0 < ordsucc alpha
Proof:
Proof not loaded.
Theorem. (quotient_remainder_int)
∀nω {0}, ∀mint, ∃qint, ∃rn, m = q * n + r
Proof:
Proof not loaded.
Definition. We define divides_int to be λm n ⇒ m int n int ∃kint, m * k = n of type setsetprop.
Proof:
Proof not loaded.
Proof:
Proof not loaded.
Theorem. (divides_int_add_SNo)
∀m n k, divides_int m ndivides_int m kdivides_int m (n + k)
Proof:
Proof not loaded.
Theorem. (divides_int_mul_SNo)
∀m n m' n', divides_int m m'divides_int n n'divides_int (m * n) (m' * n')
Proof:
Proof not loaded.
Theorem. (divides_nat_divides_int)
∀m n, divides_nat m ndivides_int m n
Proof:
Proof not loaded.
Proof:
Proof not loaded.
Theorem. (divides_int_minus_SNo)
∀m n, divides_int m ndivides_int m (- n)
Proof:
Proof not loaded.
Theorem. (divides_int_mul_SNo_L)
∀m n, ∀kint, divides_int m ndivides_int m (n * k)
Proof:
Proof not loaded.
Theorem. (divides_int_mul_SNo_R)
∀m n, ∀kint, divides_int m ndivides_int m (k * n)
Proof:
Proof not loaded.
Proof:
Proof not loaded.
Theorem. (divides_int_pos_Le)
∀m n, divides_int m n0 < nm n
Proof:
Proof not loaded.
Definition. We define gcd_reln to be λm n d ⇒ divides_int d m divides_int d n ∀d', divides_int d' mdivides_int d' nd' d of type setsetsetprop.
Theorem. (gcd_reln_uniq)
∀a b c d, gcd_reln a b cgcd_reln a b dc = d
Proof:
Proof not loaded.
Definition. We define int_lin_comb to be λa b c ⇒ a int b int c int ∃m nint, m * a + n * b = c of type setsetsetprop.
Theorem. (int_lin_comb_I)
∀a b cint, (∃m nint, m * a + n * b = c)int_lin_comb a b c
Proof:
Proof not loaded.
Theorem. (int_lin_comb_E)
∀a b c, int_lin_comb a b c∀p : prop, (a intb intc int∀m nint, m * a + n * b = cp)p
Proof:
Proof not loaded.
Theorem. (int_lin_comb_E1)
∀a b c, int_lin_comb a b ca int
Proof:
Proof not loaded.
Theorem. (int_lin_comb_E2)
∀a b c, int_lin_comb a b cb int
Proof:
Proof not loaded.
Theorem. (int_lin_comb_E3)
∀a b c, int_lin_comb a b cc int
Proof:
Proof not loaded.
Theorem. (int_lin_comb_E4)
∀a b c, int_lin_comb a b c∀p : prop, (∀m nint, m * a + n * b = cp)p
Proof:
Proof not loaded.
Theorem. (least_pos_int_lin_comb_ex)
∀a bint, ¬ (a = 0 b = 0)∃c, int_lin_comb a b c 0 < c ∀c', int_lin_comb a b c'0 < c'c c'
Proof:
Proof not loaded.
Theorem. (int_lin_comb_sym)
∀a b d, int_lin_comb a b dint_lin_comb b a d
Proof:
Proof not loaded.
Theorem. (least_pos_int_lin_comb_divides_int)
∀a b d, int_lin_comb a b d0 < d(∀c, int_lin_comb a b c0 < cd c)divides_int d a
Proof:
Proof not loaded.
Theorem. (least_pos_int_lin_comb_gcd)
∀a b d, int_lin_comb a b d0 < d(∀c, int_lin_comb a b c0 < cd c)gcd_reln a b d
Proof:
Proof not loaded.
Theorem. (BezoutThm)
∀a bint, ¬ (a = 0 b = 0)∀d, gcd_reln a b d int_lin_comb a b d 0 < d ∀d', int_lin_comb a b d'0 < d'd d'
Proof:
Proof not loaded.
Theorem. (gcd_id)
∀mω {0}, gcd_reln m m m
Proof:
Proof not loaded.
Theorem. (gcd_0)
Proof:
Proof not loaded.
Theorem. (gcd_sym)
∀m n d, gcd_reln m n dgcd_reln n m d
Proof:
Proof not loaded.
Theorem. (gcd_minus)
∀m n d, gcd_reln m n dgcd_reln m (- n) d
Proof:
Proof not loaded.
Theorem. (euclidean_algorithm_prop_1)
∀m n d, n intgcd_reln m (n + - m) dgcd_reln m n d
Proof:
Proof not loaded.
Theorem. (euclidean_algorithm)
(∀mω {0}, gcd_reln m m m) (∀mω {0}, gcd_reln 0 m m) (∀mω {0}, gcd_reln m 0 m) (∀m nω, m < n∀d, gcd_reln m (n + - m) dgcd_reln m n d) (∀m nω, n < m∀d, gcd_reln n m dgcd_reln m n d) (∀mω, ∀nint, n < 0∀d, gcd_reln m (- n) dgcd_reln m n d) (∀m nint, m < 0∀d, gcd_reln (- m) n dgcd_reln m n d)
Proof:
Proof not loaded.
Theorem. (Euclid_lemma)
∀p, prime_nat p∀a bint, divides_int p (a * b)divides_int p a divides_int p b
Proof:
Proof not loaded.
End of Section BezoutAndGCD
Beginning of Section PrimeFactorization
Notation. We use - as a prefix operator with priority 358 corresponding to applying term minus_SNo.
Notation. We use + as an infix operator with priority 360 and which associates to the right corresponding to applying term add_SNo.
Notation. We use * as an infix operator with priority 355 and which associates to the right corresponding to applying term mul_SNo.
Notation. We use ^ as an infix operator with priority 342 and which associates to the right corresponding to applying term exp_SNo_nat.
Notation. We use < as an infix operator with priority 490 and no associativity corresponding to applying term SNoLt.
Notation. We use as an infix operator with priority 490 and no associativity corresponding to applying term SNoLe.
Proof:
Proof not loaded.
Definition. We define Pi_SNo to be λf n ⇒ nat_primrec 1 (λi r ⇒ r * f i) n of type (setset)setset.
Theorem. (Pi_SNo_0)
∀f : setset, Pi_SNo f 0 = 1
Proof:
Proof not loaded.
Theorem. (Pi_SNo_S)
∀f : setset, ∀n, nat_p nPi_SNo f (ordsucc n) = Pi_SNo f n * f n
Proof:
Proof not loaded.
Theorem. (Pi_SNo_In_omega)
∀f : setset, ∀n, nat_p n(∀in, f i ω)Pi_SNo f n ω
Proof:
Proof not loaded.
Theorem. (Pi_SNo_In_int)
∀f : setset, ∀n, nat_p n(∀in, f i int)Pi_SNo f n int
Proof:
Proof not loaded.
Theorem. (divides_int_prime_nat_eq)
∀p q, prime_nat pprime_nat qdivides_int p qp = q
Proof:
Proof not loaded.
Theorem. (Euclid_lemma_Pi_SNo)
∀f : setset, ∀p, prime_nat p∀n, nat_p n(∀in, f i int)divides_int p (Pi_SNo f n)∃in, divides_int p (f i)
Proof:
Proof not loaded.
Theorem. (divides_nat_mul_SNo_R)
∀m nω, divides_nat m (m * n)
Proof:
Proof not loaded.
Theorem. (divides_nat_mul_SNo_L)
∀m nω, divides_nat n (m * n)
Proof:
Proof not loaded.
Theorem. (Pi_SNo_divides)
∀f : setset, ∀n, nat_p n(∀in, f i ω)(∀in, divides_nat (f i) (Pi_SNo f n))
Proof:
Proof not loaded.
Definition. We define nonincrfinseq to be λA n f ⇒ ∀in, A (f i) ∀ji, f i f j of type (setprop)set(setset)prop.
Theorem. (Pi_SNo_eq)
∀f g : setset, ∀m, nat_p m(∀im, f i = g i)Pi_SNo f m = Pi_SNo g m
Proof:
Proof not loaded.
Theorem. (prime_factorization_ex_uniq)
∀n, nat_p n0 n∃kω, ∃f : setset, nonincrfinseq prime_nat k f Pi_SNo f k = n ∀k'ω, ∀f' : setset, nonincrfinseq prime_nat k' f'Pi_SNo f' k' = nk' = k ∀ik, f' i = f i
Proof:
Proof not loaded.
End of Section PrimeFactorization
Beginning of Section SurrealExp
Notation. We use - as a prefix operator with priority 358 corresponding to applying term minus_SNo.
Notation. We use + as an infix operator with priority 360 and which associates to the right corresponding to applying term add_SNo.
Notation. We use * as an infix operator with priority 355 and which associates to the right corresponding to applying term mul_SNo.
Definition. We define exp_SNo_nat to be λn m : setnat_primrec 1 (λ_ r ⇒ n * r) m of type setsetset.
Notation. We use ^ as an infix operator with priority 342 and which associates to the right corresponding to applying term exp_SNo_nat.
Theorem. (exp_SNo_nat_0)
∀x, SNo xx ^ 0 = 1
Proof:
Proof not loaded.
Theorem. (exp_SNo_nat_S)
∀x, SNo x∀n, nat_p nx ^ (ordsucc n) = x * x ^ n
Proof:
Proof not loaded.
Theorem. (exp_SNo_nat_1)
∀x, SNo xx ^ 1 = x
Proof:
Proof not loaded.
Theorem. (SNo_exp_SNo_nat)
∀x, SNo x∀n, nat_p nSNo (x ^ n)
Proof:
Proof not loaded.
Theorem. (nat_exp_SNo_nat)
∀x, nat_p x∀n, nat_p nnat_p (x ^ n)
Proof:
Proof not loaded.
Theorem. (eps_ordsucc_half_add)
∀n, nat_p neps_ (ordsucc n) + eps_ (ordsucc n) = eps_ n
Proof:
Proof not loaded.
Theorem. (eps_1_half_eq1)
Proof:
Proof not loaded.
Theorem. (eps_1_half_eq2)
Proof:
Proof not loaded.
Theorem. (double_eps_1)
∀x y z, SNo xSNo ySNo zx + x = y + zx = eps_ 1 * (y + z)
Proof:
Proof not loaded.
Theorem. (exp_SNo_1_bd)
∀x, SNo x1 x∀n, nat_p n1 x ^ n
Proof:
Proof not loaded.
Theorem. (exp_SNo_2_bd)
∀n, nat_p nn < 2 ^ n
Proof:
Proof not loaded.
Theorem. (mul_SNo_eps_power_2)
∀n, nat_p neps_ n * 2 ^ n = 1
Proof:
Proof not loaded.
Theorem. (eps_bd_1)
∀nω, eps_ n 1
Proof:
Proof not loaded.
Theorem. (mul_SNo_eps_power_2')
∀n, nat_p n2 ^ n * eps_ n = 1
Proof:
Proof not loaded.
Theorem. (exp_SNo_nat_mul_add)
∀x, SNo x∀m, nat_p m∀n, nat_p nx ^ m * x ^ n = x ^ (m + n)
Proof:
Proof not loaded.
Theorem. (exp_SNo_nat_mul_add')
∀x, SNo x∀m nω, x ^ m * x ^ n = x ^ (m + n)
Proof:
Proof not loaded.
Theorem. (exp_SNo_nat_pos)
∀x, SNo x0 < x∀n, nat_p n0 < x ^ n
Proof:
Proof not loaded.
Theorem. (mul_SNo_eps_eps_add_SNo)
∀m nω, eps_ m * eps_ n = eps_ (m + n)
Proof:
Proof not loaded.
Theorem. (SNoS_omega_Lev_equip)
∀n, nat_p nequip {xSNoS_ ω|SNoLev x = n} (2 ^ n)
Proof:
Proof not loaded.
Theorem. (SNoS_finite)
Proof:
Proof not loaded.
Proof:
Proof not loaded.
Proof:
Proof not loaded.
End of Section SurrealExp
Beginning of Section SNoMaxMin
Notation. We use - as a prefix operator with priority 358 corresponding to applying term minus_SNo.
Notation. We use + as an infix operator with priority 360 and which associates to the right corresponding to applying term add_SNo.
Notation. We use * as an infix operator with priority 355 and which associates to the right corresponding to applying term mul_SNo.
Notation. We use ^ as an infix operator with priority 342 and which associates to the right corresponding to applying term exp_SNo_nat.
Notation. We use < as an infix operator with priority 490 and no associativity corresponding to applying term SNoLt.
Notation. We use as an infix operator with priority 490 and no associativity corresponding to applying term SNoLe.
Definition. We define SNo_max_of to be λX x ⇒ x X SNo x ∀yX, SNo yy x of type setsetprop.
Definition. We define SNo_min_of to be λX x ⇒ x X SNo x ∀yX, SNo yx y of type setsetprop.
Theorem. (minus_SNo_max_min)
∀X y, (∀xX, SNo x)SNo_max_of X ySNo_min_of {- x|xX} (- y)
Proof:
Proof not loaded.
Theorem. (minus_SNo_max_min')
∀X y, (∀xX, SNo x)SNo_max_of {- x|xX} ySNo_min_of X (- y)
Proof:
Proof not loaded.
Theorem. (minus_SNo_min_max)
∀X y, (∀xX, SNo x)SNo_min_of X ySNo_max_of {- x|xX} (- y)
Proof:
Proof not loaded.
Theorem. (double_SNo_max_1)
∀x y, SNo xSNo_max_of (SNoL x) y∀z, SNo zx < zy + z < x + x∃wSNoR z, y + w = x + x
Proof:
Proof not loaded.
Theorem. (double_SNo_min_1)
∀x y, SNo xSNo_min_of (SNoR x) y∀z, SNo zz < xx + x < y + z∃wSNoL z, y + w = x + x
Proof:
Proof not loaded.
Theorem. (finite_max_exists)
∀X, (∀xX, SNo x)finite XX 0∃x, SNo_max_of X x
Proof:
Proof not loaded.
Theorem. (finite_min_exists)
∀X, (∀xX, SNo x)finite XX 0∃x, SNo_min_of X x
Proof:
Proof not loaded.
Proof:
Proof not loaded.
Proof:
Proof not loaded.
End of Section SNoMaxMin
Beginning of Section DiadicRationals
Notation. We use - as a prefix operator with priority 358 corresponding to applying term minus_SNo.
Notation. We use + as an infix operator with priority 360 and which associates to the right corresponding to applying term add_SNo.
Notation. We use * as an infix operator with priority 355 and which associates to the right corresponding to applying term mul_SNo.
Notation. We use < as an infix operator with priority 490 and no associativity corresponding to applying term SNoLt.
Notation. We use as an infix operator with priority 490 and no associativity corresponding to applying term SNoLe.
Notation. We use ^ as an infix operator with priority 342 and which associates to the right corresponding to applying term exp_SNo_nat.
Proof:
Proof not loaded.
Definition. We define diadic_rational_p to be λx ⇒ ∃kω, ∃mint, x = eps_ k * m of type setprop.
Proof:
Proof not loaded.
Proof:
Proof not loaded.
Proof:
Proof not loaded.
Proof:
Proof not loaded.
Proof:
Proof not loaded.
Proof:
Proof not loaded.
Proof:
Proof not loaded.
Theorem. (SNoS_omega_diadic_rational_p_lem)
∀n, nat_p n∀x, SNo xSNoLev x = ndiadic_rational_p x
Proof:
Proof not loaded.
Proof:
Proof not loaded.
Theorem. (mul_SNo_SNoS_omega)
∀x ySNoS_ ω, x * y SNoS_ ω
Proof:
Proof not loaded.
End of Section DiadicRationals
Beginning of Section SurrealDiv
Notation. We use - as a prefix operator with priority 358 corresponding to applying term minus_SNo.
Notation. We use + as an infix operator with priority 360 and which associates to the right corresponding to applying term add_SNo.
Notation. We use * as an infix operator with priority 355 and which associates to the right corresponding to applying term mul_SNo.
Notation. We use < as an infix operator with priority 490 and no associativity corresponding to applying term SNoLt.
Notation. We use as an infix operator with priority 490 and no associativity corresponding to applying term SNoLe.
Notation. We use ^ as an infix operator with priority 342 and which associates to the right corresponding to applying term exp_SNo_nat.
Definition. We define SNoL_pos to be λx ⇒ {wSNoL x|0 < w} of type setset.
Theorem. (SNo_recip_pos_pos)
∀x xi, SNo xSNo xi0 < xx * xi = 10 < xi
Proof:
Proof not loaded.
Theorem. (SNo_recip_lem1)
∀x x' x'i y y', SNo x0 < xx' SNoL_pos xSNo x'ix' * x'i = 1SNo yx * y < 1SNo y'1 + - x * y' = (1 + - x * y) * (x' + - x) * x'i1 < x * y'
Proof:
Proof not loaded.
Theorem. (SNo_recip_lem2)
∀x x' x'i y y', SNo x0 < xx' SNoL_pos xSNo x'ix' * x'i = 1SNo y1 < x * ySNo y'1 + - x * y' = (1 + - x * y) * (x' + - x) * x'ix * y' < 1
Proof:
Proof not loaded.
Theorem. (SNo_recip_lem3)
∀x x' x'i y y', SNo x0 < xx' SNoR xSNo x'ix' * x'i = 1SNo yx * y < 1SNo y'1 + - x * y' = (1 + - x * y) * (x' + - x) * x'ix * y' < 1
Proof:
Proof not loaded.
Theorem. (SNo_recip_lem4)
∀x x' x'i y y', SNo x0 < xx' SNoR xSNo x'ix' * x'i = 1SNo y1 < x * ySNo y'1 + - x * y' = (1 + - x * y) * (x' + - x) * x'i1 < x * y'
Proof:
Proof not loaded.
Definition. We define SNo_recipauxset to be λY x X g ⇒ yY{(1 + (x' + - x) * y) * g x'|x'X} of type setsetset(setset)set.
Theorem. (SNo_recipauxset_I)
∀Y x X, ∀g : setset, ∀yY, ∀x'X, (1 + (x' + - x) * y) * g x' SNo_recipauxset Y x X g
Proof:
Proof not loaded.
Theorem. (SNo_recipauxset_E)
∀Y x X, ∀g : setset, ∀zSNo_recipauxset Y x X g, ∀p : prop, (∀yY, ∀x'X, z = (1 + (x' + - x) * y) * g x'p)p
Proof:
Proof not loaded.
Theorem. (SNo_recipauxset_ext)
∀Y x X, ∀g h : setset, (∀x'X, g x' = h x')SNo_recipauxset Y x X g = SNo_recipauxset Y x X h
Proof:
Proof not loaded.
Definition. We define SNo_recipaux to be λx g ⇒ nat_primrec ({0},0) (λk p ⇒ (p 0 SNo_recipauxset (p 0) x (SNoR x) g SNo_recipauxset (p 1) x (SNoL_pos x) g,p 1 SNo_recipauxset (p 0) x (SNoL_pos x) g SNo_recipauxset (p 1) x (SNoR x) g)) of type set(setset)setset.
Theorem. (SNo_recipaux_0)
∀x, ∀g : setset, SNo_recipaux x g 0 = ({0},0)
Proof:
Proof not loaded.
Theorem. (SNo_recipaux_S)
∀x, ∀g : setset, ∀n, nat_p nSNo_recipaux x g (ordsucc n) = (SNo_recipaux x g n 0 SNo_recipauxset (SNo_recipaux x g n 0) x (SNoR x) g SNo_recipauxset (SNo_recipaux x g n 1) x (SNoL_pos x) g,SNo_recipaux x g n 1 SNo_recipauxset (SNo_recipaux x g n 0) x (SNoL_pos x) g SNo_recipauxset (SNo_recipaux x g n 1) x (SNoR x) g)
Proof:
Proof not loaded.
Theorem. (SNo_recipaux_lem1)
∀x, SNo x0 < x∀g : setset, (∀x'SNoS_ (SNoLev x), 0 < x'SNo (g x') x' * g x' = 1)∀k, nat_p k(∀ySNo_recipaux x g k 0, SNo y x * y < 1) (∀ySNo_recipaux x g k 1, SNo y 1 < x * y)
Proof:
Proof not loaded.
Theorem. (SNo_recipaux_lem2)
∀x, SNo x0 < x∀g : setset, (∀x'SNoS_ (SNoLev x), 0 < x'SNo (g x') x' * g x' = 1)SNoCutP (kωSNo_recipaux x g k 0) (kωSNo_recipaux x g k 1)
Proof:
Proof not loaded.
Theorem. (SNo_recipaux_ext)
∀x, SNo x∀g h : setset, (∀x'SNoS_ (SNoLev x), g x' = h x')∀k, nat_p kSNo_recipaux x g k = SNo_recipaux x h k
Proof:
Proof not loaded.
Beginning of Section recip_SNo_pos
Let G : set(setset)setλx g ⇒ SNoCut (kωSNo_recipaux x g k 0) (kωSNo_recipaux x g k 1)
Definition. We define recip_SNo_pos to be SNo_rec_i G of type setset.
Theorem. (recip_SNo_pos_eq)
∀x, SNo xrecip_SNo_pos x = G x recip_SNo_pos
Proof:
Proof not loaded.
Theorem. (recip_SNo_pos_prop1)
∀x, SNo x0 < xSNo (recip_SNo_pos x) x * recip_SNo_pos x = 1
Proof:
Proof not loaded.
Theorem. (SNo_recip_SNo_pos)
∀x, SNo x0 < xSNo (recip_SNo_pos x)
Proof:
Proof not loaded.
Theorem. (recip_SNo_pos_invR)
∀x, SNo x0 < xx * recip_SNo_pos x = 1
Proof:
Proof not loaded.
Theorem. (recip_SNo_pos_is_pos)
∀x, SNo x0 < x0 < recip_SNo_pos x
Proof:
Proof not loaded.
Theorem. (recip_SNo_pos_invol)
∀x, SNo x0 < xrecip_SNo_pos (recip_SNo_pos x) = x
Proof:
Proof not loaded.
Theorem. (recip_SNo_pos_eps_)
∀n, nat_p nrecip_SNo_pos (eps_ n) = 2 ^ n
Proof:
Proof not loaded.
Theorem. (recip_SNo_pos_pow_2)
∀n, nat_p nrecip_SNo_pos (2 ^ n) = eps_ n
Proof:
Proof not loaded.
Proof:
Proof not loaded.
End of Section recip_SNo_pos
Definition. We define recip_SNo to be λx ⇒ if 0 < x then recip_SNo_pos x else if x < 0 then - recip_SNo_pos (- x) else 0 of type setset.
Theorem. (recip_SNo_poscase)
∀x, 0 < xrecip_SNo x = recip_SNo_pos x
Proof:
Proof not loaded.
Theorem. (recip_SNo_negcase)
∀x, SNo xx < 0recip_SNo x = - recip_SNo_pos (- x)
Proof:
Proof not loaded.
Proof:
Proof not loaded.
Theorem. (SNo_recip_SNo)
∀x, SNo xSNo (recip_SNo x)
Proof:
Proof not loaded.
Theorem. (recip_SNo_invR)
∀x, SNo xx 0x * recip_SNo x = 1
Proof:
Proof not loaded.
Theorem. (recip_SNo_invL)
∀x, SNo xx 0recip_SNo x * x = 1
Proof:
Proof not loaded.
Theorem. (mul_SNo_nonzero_cancel_L)
∀x y z, SNo xx 0SNo ySNo zx * y = x * zy = z
Proof:
Proof not loaded.
Theorem. (recip_SNo_pow_2)
∀n, nat_p nrecip_SNo (2 ^ n) = eps_ n
Proof:
Proof not loaded.
Theorem. (recip_SNo_of_pos_is_pos)
∀x, SNo x0 < x0 < recip_SNo x
Proof:
Proof not loaded.
Definition. We define div_SNo to be λx y ⇒ x * recip_SNo y of type setsetset.
Notation. We use :/: as an infix operator with priority 353 and no associativity corresponding to applying term div_SNo.
Theorem. (SNo_div_SNo)
∀x y, SNo xSNo ySNo (x :/: y)
Proof:
Proof not loaded.
Theorem. (div_SNo_0_num)
∀x, SNo x0 :/: x = 0
Proof:
Proof not loaded.
Theorem. (div_SNo_0_denum)
∀x, SNo xx :/: 0 = 0
Proof:
Proof not loaded.
Theorem. (mul_div_SNo_invL)
∀x y, SNo xSNo yy 0(x :/: y) * y = x
Proof:
Proof not loaded.
Theorem. (mul_div_SNo_invR)
∀x y, SNo xSNo yy 0y * (x :/: y) = x
Proof:
Proof not loaded.
Theorem. (mul_div_SNo_R)
∀x y z, SNo xSNo ySNo z(x :/: y) * z = (x * z) :/: y
Proof:
Proof not loaded.
Theorem. (mul_div_SNo_L)
∀x y z, SNo xSNo ySNo zz * (x :/: y) = (z * x) :/: y
Proof:
Proof not loaded.
Theorem. (div_mul_SNo_invL)
∀x y, SNo xSNo yy 0(x * y) :/: y = x
Proof:
Proof not loaded.
Theorem. (div_div_SNo)
∀x y z, SNo xSNo ySNo z(x :/: y) :/: z = x :/: (y * z)
Proof:
Proof not loaded.
Theorem. (mul_div_SNo_both)
∀x y z w, SNo xSNo ySNo zSNo w(x :/: y) * (z :/: w) = (x * z) :/: (y * w)
Proof:
Proof not loaded.
Theorem. (recip_SNo_pos_pos)
∀x, SNo x0 < x0 < recip_SNo_pos x
Proof:
Proof not loaded.
Theorem. (div_SNo_pos_pos)
∀x y, SNo xSNo y0 < x0 < y0 < x :/: y
Proof:
Proof not loaded.
Theorem. (div_SNo_neg_pos)
∀x y, SNo xSNo yx < 00 < yx :/: y < 0
Proof:
Proof not loaded.
Theorem. (div_SNo_pos_LtL)
∀x y z, SNo xSNo ySNo z0 < yx < z * yx :/: y < z
Proof:
Proof not loaded.
Theorem. (div_SNo_pos_LtR)
∀x y z, SNo xSNo ySNo z0 < yz * y < xz < x :/: y
Proof:
Proof not loaded.
Theorem. (div_SNo_pos_LtL')
∀x y z, SNo xSNo ySNo z0 < yx :/: y < zx < z * y
Proof:
Proof not loaded.
Theorem. (div_SNo_pos_LtR')
∀x y z, SNo xSNo ySNo z0 < yz < x :/: yz * y < x
Proof:
Proof not loaded.
Theorem. (mul_div_SNo_nonzero_eq)
∀x y z, SNo xSNo ySNo zy 0x = y * zx :/: y = z
Proof:
Proof not loaded.
End of Section SurrealDiv
Beginning of Section Reals
Notation. We use - as a prefix operator with priority 358 corresponding to applying term minus_SNo.
Notation. We use + as an infix operator with priority 360 and which associates to the right corresponding to applying term add_SNo.
Notation. We use * as an infix operator with priority 355 and which associates to the right corresponding to applying term mul_SNo.
Notation. We use :/: as an infix operator with priority 353 and no associativity corresponding to applying term div_SNo.
Notation. We use ^ as an infix operator with priority 342 and which associates to the right corresponding to applying term exp_SNo_nat.
Notation. We use < as an infix operator with priority 490 and no associativity corresponding to applying term SNoLt.
Notation. We use as an infix operator with priority 490 and no associativity corresponding to applying term SNoLe.
Theorem. (SNoS_omega_drat_intvl)
∀xSNoS_ ω, ∀kω, ∃qSNoS_ ω, q < x x < q + eps_ k
Proof:
Proof not loaded.
Theorem. (SNoS_ordsucc_omega_bdd_above)
∀xSNoS_ (ordsucc ω), x < ω∃Nω, x < N
Proof:
Proof not loaded.
Theorem. (SNoS_ordsucc_omega_bdd_below)
∀xSNoS_ (ordsucc ω), - ω < x∃Nω, - N < x
Proof:
Proof not loaded.
Theorem. (SNoS_ordsucc_omega_bdd_drat_intvl)
∀xSNoS_ (ordsucc ω), - ω < xx < ω∀kω, ∃qSNoS_ ω, q < x x < q + eps_ k
Proof:
Proof not loaded.
Definition. We define real to be {xSNoS_ (ordsucc ω)|x ω x - ω (∀qSNoS_ ω, (∀kω, abs_SNo (q + - x) < eps_ k)q = x)} of type set.
Theorem. (real_I)
∀xSNoS_ (ordsucc ω), x ωx - ω(∀qSNoS_ ω, (∀kω, abs_SNo (q + - x) < eps_ k)q = x)x real
Proof:
Proof not loaded.
Theorem. (real_E)
∀xreal, ∀p : prop, (SNo xSNoLev x ordsucc ωx SNoS_ (ordsucc ω)- ω < xx < ω(∀qSNoS_ ω, (∀kω, abs_SNo (q + - x) < eps_ k)q = x)(∀kω, ∃qSNoS_ ω, q < x x < q + eps_ k)p)p
Proof:
Proof not loaded.
Theorem. (real_SNo)
∀xreal, SNo x
Proof:
Proof not loaded.
Theorem. (real_SNoS_omega_prop)
∀xreal, ∀qSNoS_ ω, (∀kω, abs_SNo (q + - x) < eps_ k)q = x
Proof:
Proof not loaded.
Proof:
Proof not loaded.
Theorem. (real_0)
Proof:
Proof not loaded.
Theorem. (real_1)
Proof:
Proof not loaded.
Theorem. (SNoLev_In_real_SNoS_omega)
∀xreal, ∀w, SNo wSNoLev w SNoLev xw SNoS_ ω
Proof:
Proof not loaded.
Theorem. (real_SNoCut_SNoS_omega)
∀L RSNoS_ ω, SNoCutP L RL 0R 0(∀wL, ∃w'L, w < w')(∀zR, ∃z'R, z' < z)SNoCut L R real
Proof:
Proof not loaded.
Theorem. (real_SNoCut)
∀L Rreal, SNoCutP L RL 0R 0(∀wL, ∃w'L, w < w')(∀zR, ∃z'R, z' < z)SNoCut L R real
Proof:
Proof not loaded.
Theorem. (minus_SNo_prereal_1)
∀x, SNo x(∀qSNoS_ ω, (∀kω, abs_SNo (q + - x) < eps_ k)q = x)(∀qSNoS_ ω, (∀kω, abs_SNo (q + - - x) < eps_ k)q = - x)
Proof:
Proof not loaded.
Theorem. (minus_SNo_prereal_2)
∀x, SNo x(∀kω, ∃qSNoS_ ω, q < x x < q + eps_ k)(∀kω, ∃qSNoS_ ω, q < - x - x < q + eps_ k)
Proof:
Proof not loaded.
Theorem. (SNo_prereal_incr_lower_pos)
∀x, SNo x0 < x(∀qSNoS_ ω, (∀kω, abs_SNo (q + - x) < eps_ k)q = x)(∀kω, ∃qSNoS_ ω, q < x x < q + eps_ k)∀kω, ∀p : prop, (∀qSNoS_ ω, 0 < qq < xx < q + eps_ kp)p
Proof:
Proof not loaded.
Theorem. (real_minus_SNo)
Proof:
Proof not loaded.
Theorem. (SNo_prereal_incr_lower_approx)
∀x, SNo x(∀qSNoS_ ω, (∀kω, abs_SNo (q + - x) < eps_ k)q = x)(∀kω, ∃qSNoS_ ω, q < x x < q + eps_ k)∃fSNoS_ ωω, ∀nω, f n < x x < f n + eps_ n ∀in, f i < f n
Proof:
Proof not loaded.
Theorem. (SNo_prereal_decr_upper_approx)
∀x, SNo x(∀qSNoS_ ω, (∀kω, abs_SNo (q + - x) < eps_ k)q = x)(∀kω, ∃qSNoS_ ω, q < x x < q + eps_ k)∃gSNoS_ ωω, ∀nω, g n + - eps_ n < x x < g n ∀in, g n < g i
Proof:
Proof not loaded.
Theorem. (SNoCutP_SNoCut_lim)
∀lambda, ordinal lambda(∀alphalambda, ordsucc alpha lambda)∀L RSNoS_ lambda, SNoCutP L RSNoLev (SNoCut L R) ordsucc lambda
Proof:
Proof not loaded.
Proof:
Proof not loaded.
Theorem. (SNo_approx_real_lem)
∀f gSNoS_ ωω, (∀n mω, f n < g m)∀p : prop, (SNoCutP {f n|nω} {g n|nω}SNo (SNoCut {f n|nω} {g n|nω})SNoLev (SNoCut {f n|nω} {g n|nω}) ordsucc ωSNoCut {f n|nω} {g n|nω} SNoS_ (ordsucc ω)(∀nω, f n < SNoCut {f n|nω} {g n|nω})(∀nω, SNoCut {f n|nω} {g n|nω} < g n)p)p
Proof:
Proof not loaded.
Theorem. (SNo_approx_real)
∀x, SNo x∀f gSNoS_ ωω, (∀nω, f n < x)(∀nω, x < f n + eps_ n)(∀nω, ∀in, f i < f n)(∀nω, x < g n)(∀nω, ∀in, g n < g i)x = SNoCut {f n|nω} {g n|nω}x real
Proof:
Proof not loaded.
Theorem. (SNo_approx_real_rep)
∀xreal, ∀p : prop, (∀f gSNoS_ ωω, (∀nω, f n < x)(∀nω, x < f n + eps_ n)(∀nω, ∀in, f i < f n)(∀nω, g n + - eps_ n < x)(∀nω, x < g n)(∀nω, ∀in, g n < g i)SNoCutP {f n|nω} {g n|nω}x = SNoCut {f n|nω} {g n|nω}p)p
Proof:
Proof not loaded.
Theorem. (real_add_SNo)
∀x yreal, x + y real
Proof:
Proof not loaded.
Theorem. (SNoS_ordsucc_omega_bdd_eps_pos)
∀xSNoS_ (ordsucc ω), 0 < xx < ω∃Nω, eps_ N * x < 1
Proof:
Proof not loaded.
Theorem. (real_mul_SNo_pos)
∀x yreal, 0 < x0 < yx * y real
Proof:
Proof not loaded.
Theorem. (real_mul_SNo)
∀x yreal, x * y real
Proof:
Proof not loaded.
Theorem. (nonneg_real_nat_interval)
∀xreal, 0 x∃nω, n x x < ordsucc n
Proof:
Proof not loaded.
Theorem. (pos_real_left_approx_double)
∀xreal, 0 < xx 2(∀mω, x eps_ m)∃wSNoL_pos x, x < 2 * w
Proof:
Proof not loaded.
Proof:
Proof not loaded.
Proof:
Proof not loaded.
Proof:
Proof not loaded.
Theorem. (real_div_SNo)
∀x yreal, x :/: y real
Proof:
Proof not loaded.
End of Section Reals
Beginning of Section even_odd
Notation. We use + as an infix operator with priority 360 and which associates to the right corresponding to applying term add_nat.
Notation. We use * as an infix operator with priority 355 and which associates to the right corresponding to applying term mul_nat.
Theorem. (nat_le2_cases)
∀m, nat_p mm 2m = 0 m = 1 m = 2
Proof:
Proof not loaded.
Theorem. (prime_nat_2_lem)
∀m, nat_p m∀n, nat_p nm * n = 2m = 1 m = 2
Proof:
Proof not loaded.
Proof:
Proof not loaded.
Notation. We use - as a prefix operator with priority 358 corresponding to applying term minus_SNo.
Notation. We use + as an infix operator with priority 360 and which associates to the right corresponding to applying term add_SNo.
Notation. We use * as an infix operator with priority 355 and which associates to the right corresponding to applying term mul_SNo.
Theorem. (not_eq_2m_2n1)
∀m nint, 2 * m 2 * n + 1
Proof:
Proof not loaded.
End of Section even_odd
Beginning of Section form100_22b
Let tag : setsetλalpha ⇒ SetAdjoin alpha {1}
Notation. We use ' as a postfix operator with priority 100 corresponding to applying term tag.
Notation. We use - as a prefix operator with priority 358 corresponding to applying term minus_SNo.
Notation. We use + as an infix operator with priority 360 and which associates to the right corresponding to applying term add_SNo.
Notation. We use * as an infix operator with priority 355 and which associates to the right corresponding to applying term mul_SNo.
Proof:
Proof not loaded.
Theorem. (Repl_finite)
∀f : setset, ∀X, finite Xfinite {f x|xX}
Proof:
Proof not loaded.
Theorem. (infinite_bigger)
∀Xω, infinite X∀mω, ∃nX, m n
Proof:
Proof not loaded.
Proof:
Proof not loaded.
Proof:
Proof not loaded.
Proof:
Proof not loaded.
Proof:
Proof not loaded.
End of Section form100_22b
Beginning of Section rational
Notation. We use - as a prefix operator with priority 358 corresponding to applying term minus_SNo.
Notation. We use + as an infix operator with priority 360 and which associates to the right corresponding to applying term add_SNo.
Notation. We use * as an infix operator with priority 355 and which associates to the right corresponding to applying term mul_SNo.
Notation. We use ^ as an infix operator with priority 342 and which associates to the right corresponding to applying term exp_SNo_nat.
Notation. We use :/: as an infix operator with priority 353 and no associativity corresponding to applying term div_SNo.
Notation. We use < as an infix operator with priority 490 and no associativity corresponding to applying term SNoLt.
Notation. We use as an infix operator with priority 490 and no associativity corresponding to applying term SNoLe.
Definition. We define rational to be {xreal|∃mint, ∃nω {0}, x = m :/: n} of type set.
End of Section rational
Beginning of Section form100_3
Notation. We use - as a prefix operator with priority 358 corresponding to applying term minus_SNo.
Notation. We use + as an infix operator with priority 360 and which associates to the right corresponding to applying term add_SNo.
Notation. We use * as an infix operator with priority 355 and which associates to the right corresponding to applying term mul_SNo.
Notation. We use :/: as an infix operator with priority 353 and no associativity corresponding to applying term div_SNo.
Notation. We use ^ as an infix operator with priority 342 and which associates to the right corresponding to applying term exp_SNo_nat.
Proof:
Proof not loaded.
Proof:
Proof not loaded.
Proof:
Proof not loaded.
Proof:
Proof not loaded.
Definition. We define nat_pair to be λm n ⇒ 2 ^ m * (2 * n + 1) of type setsetset.
Theorem. (nat_pair_In_omega)
∀m nω, nat_pair m n ω
Proof:
Proof not loaded.
Theorem. (nat_pair_0)
∀m n m' n'ω, nat_pair m n = nat_pair m' n'm = m'
Proof:
Proof not loaded.
Theorem. (nat_pair_1)
∀m n m' n'ω, nat_pair m n = nat_pair m' n'n = n'
Proof:
Proof not loaded.
Proof:
Proof not loaded.
End of Section form100_3
Beginning of Section SurrealSqrt
Notation. We use - as a prefix operator with priority 358 corresponding to applying term minus_SNo.
Notation. We use + as an infix operator with priority 360 and which associates to the right corresponding to applying term add_SNo.
Notation. We use * as an infix operator with priority 355 and which associates to the right corresponding to applying term mul_SNo.
Notation. We use :/: as an infix operator with priority 353 and no associativity corresponding to applying term div_SNo.
Notation. We use < as an infix operator with priority 490 and no associativity corresponding to applying term SNoLt.
Notation. We use as an infix operator with priority 490 and no associativity corresponding to applying term SNoLe.
Notation. We use ^ as an infix operator with priority 342 and which associates to the right corresponding to applying term exp_SNo_nat.
Definition. We define SNoL_nonneg to be λx ⇒ {wSNoL x|0 w} of type setset.
Proof:
Proof not loaded.
Proof:
Proof not loaded.
Definition. We define SNo_sqrtauxset to be λY Z x ⇒ yY{(x + y * z) :/: (y + z)|zZ, 0 < y + z} of type setsetsetset.
Theorem. (SNo_sqrtauxset_I)
∀Y Z x, ∀yY, ∀zZ, 0 < y + z(x + y * z) :/: (y + z) SNo_sqrtauxset Y Z x
Proof:
Proof not loaded.
Theorem. (SNo_sqrtauxset_E)
∀Y Z x, ∀uSNo_sqrtauxset Y Z x, ∀p : prop, (∀yY, ∀zZ, 0 < y + zu = (x + y * z) :/: (y + z)p)p
Proof:
Proof not loaded.
Theorem. (SNo_sqrtauxset_0)
∀Z x, SNo_sqrtauxset 0 Z x = 0
Proof:
Proof not loaded.
Theorem. (SNo_sqrtauxset_0')
∀Y x, SNo_sqrtauxset Y 0 x = 0
Proof:
Proof not loaded.
Definition. We define SNo_sqrtaux to be λx g ⇒ nat_primrec ({g w|wSNoL_nonneg x},{g z|zSNoR x}) (λk p ⇒ (p 0 SNo_sqrtauxset (p 0) (p 1) x,p 1 SNo_sqrtauxset (p 0) (p 0) x SNo_sqrtauxset (p 1) (p 1) x)) of type set(setset)setset.
Theorem. (SNo_sqrtaux_0)
∀x, ∀g : setset, SNo_sqrtaux x g 0 = ({g w|wSNoL_nonneg x},{g z|zSNoR x})
Proof:
Proof not loaded.
Theorem. (SNo_sqrtaux_S)
∀x, ∀g : setset, ∀n, nat_p nSNo_sqrtaux x g (ordsucc n) = (SNo_sqrtaux x g n 0 SNo_sqrtauxset (SNo_sqrtaux x g n 0) (SNo_sqrtaux x g n 1) x,SNo_sqrtaux x g n 1 SNo_sqrtauxset (SNo_sqrtaux x g n 0) (SNo_sqrtaux x g n 0) x SNo_sqrtauxset (SNo_sqrtaux x g n 1) (SNo_sqrtaux x g n 1) x)
Proof:
Proof not loaded.
Theorem. (SNo_sqrtaux_mon_lem)
∀x, ∀g : setset, ∀m, nat_p m∀n, nat_p nSNo_sqrtaux x g m 0 SNo_sqrtaux x g (add_nat m n) 0 SNo_sqrtaux x g m 1 SNo_sqrtaux x g (add_nat m n) 1
Proof:
Proof not loaded.
Theorem. (SNo_sqrtaux_mon)
∀x, ∀g : setset, ∀m, nat_p m∀n, nat_p nm nSNo_sqrtaux x g m 0 SNo_sqrtaux x g n 0 SNo_sqrtaux x g m 1 SNo_sqrtaux x g n 1
Proof:
Proof not loaded.
Theorem. (SNo_sqrtaux_ext)
∀x, SNo x∀g h : setset, (∀x'SNoS_ (SNoLev x), g x' = h x')∀k, nat_p kSNo_sqrtaux x g k = SNo_sqrtaux x h k
Proof:
Proof not loaded.
Beginning of Section sqrt_SNo_nonneg
Let G : set(setset)setλx g ⇒ SNoCut (kωSNo_sqrtaux x g k 0) (kωSNo_sqrtaux x g k 1)
Definition. We define sqrt_SNo_nonneg to be SNo_rec_i G of type setset.
Proof:
Proof not loaded.
Theorem. (sqrt_SNo_nonneg_prop1a)
∀x, SNo x0 x(∀wSNoS_ (SNoLev x), 0 wSNo (sqrt_SNo_nonneg w) 0 sqrt_SNo_nonneg w sqrt_SNo_nonneg w * sqrt_SNo_nonneg w = w)∀k, nat_p k(∀ySNo_sqrtaux x sqrt_SNo_nonneg k 0, SNo y 0 y y * y < x) (∀ySNo_sqrtaux x sqrt_SNo_nonneg k 1, SNo y 0 y x < y * y)
Proof:
Proof not loaded.
Proof:
Proof not loaded.
Theorem. (sqrt_SNo_nonneg_prop1c)
∀x, SNo x0 xSNoCutP (kωSNo_sqrtaux x sqrt_SNo_nonneg k 0) (kωSNo_sqrtaux x sqrt_SNo_nonneg k 1)(∀z(kωSNo_sqrtaux x sqrt_SNo_nonneg k 1), ∀p : prop, (SNo z0 zx < z * zp)p)0 G x sqrt_SNo_nonneg
Proof:
Proof not loaded.
Proof:
Proof not loaded.
Proof:
Proof not loaded.
Proof:
Proof not loaded.
End of Section sqrt_SNo_nonneg
Theorem. (SNo_sqrtaux_0_1_prop)
∀x, SNo x0 x∀k, nat_p k(∀ySNo_sqrtaux x sqrt_SNo_nonneg k 0, SNo y 0 y y * y < x) (∀ySNo_sqrtaux x sqrt_SNo_nonneg k 1, SNo y 0 y x < y * y)
Proof:
Proof not loaded.
Theorem. (SNo_sqrtaux_0_prop)
∀x, SNo x0 x∀k, nat_p k∀ySNo_sqrtaux x sqrt_SNo_nonneg k 0, SNo y 0 y y * y < x
Proof:
Proof not loaded.
Theorem. (SNo_sqrtaux_1_prop)
∀x, SNo x0 x∀k, nat_p k∀ySNo_sqrtaux x sqrt_SNo_nonneg k 1, SNo y 0 y x < y * y
Proof:
Proof not loaded.
Proof:
Proof not loaded.
Theorem. (SNo_sqrt_SNo_nonneg)
∀x, SNo x0 xSNo (sqrt_SNo_nonneg x)
Proof:
Proof not loaded.
Theorem. (sqrt_SNo_nonneg_nonneg)
∀x, SNo x0 x0 sqrt_SNo_nonneg x
Proof:
Proof not loaded.
Theorem. (sqrt_SNo_nonneg_sqr)
∀x, SNo x0 xsqrt_SNo_nonneg x * sqrt_SNo_nonneg x = x
Proof:
Proof not loaded.
Proof:
Proof not loaded.
Proof:
Proof not loaded.
Theorem. (sqrt_SNo_nonneg_0inL0)
∀x, SNo x0 x0 SNoLev x0 SNo_sqrtaux x sqrt_SNo_nonneg 0 0
Proof:
Proof not loaded.
Proof:
Proof not loaded.
Proof:
Proof not loaded.
Theorem. (SNo_sqrtauxset_real)
∀Y Z x, Y realZ realx realSNo_sqrtauxset Y Z x real
Proof:
Proof not loaded.
Theorem. (SNo_sqrtauxset_real_nonneg)
∀Y Z x, Y {wreal|0 w}Z {zreal|0 z}x real0 xSNo_sqrtauxset Y Z x {wreal|0 w}
Proof:
Proof not loaded.
Proof:
Proof not loaded.
Proof:
Proof not loaded.
End of Section SurrealSqrt
Beginning of Section form100_1
Notation. We use - as a prefix operator with priority 358 corresponding to applying term minus_SNo.
Notation. We use + as an infix operator with priority 360 and which associates to the right corresponding to applying term add_SNo.
Notation. We use * as an infix operator with priority 355 and which associates to the right corresponding to applying term mul_SNo.
Notation. We use :/: as an infix operator with priority 353 and no associativity corresponding to applying term div_SNo.
Theorem. (divides_int_div_SNo_int)
∀m n, divides_int m nn :/: m int
Proof:
Proof not loaded.
Theorem. (form100_1_lem1)
∀m, nat_p m∀n, nat_p nm * m = 2 * n * nn = 0
Proof:
Proof not loaded.
Theorem. (form100_1_lem2)
∀mω, ∀nω 1, m * m 2 * n * n
Proof:
Proof not loaded.
Notation. We use - as a prefix operator with priority 358 corresponding to applying term minus_SNo.
Notation. We use + as an infix operator with priority 360 and which associates to the right corresponding to applying term add_SNo.
Notation. We use * as an infix operator with priority 355 and which associates to the right corresponding to applying term mul_SNo.
Notation. We use :/: as an infix operator with priority 353 and no associativity corresponding to applying term div_SNo.
Proof:
Proof not loaded.
End of Section form100_1