Primitive. The name Eps_i is a term of type (setprop)set.
L2
Axiom. (Eps_i_ax) We take the following as an axiom:
∀P : setprop, ∀x : set, P xP (Eps_i P)
L4
Definition. We define True to be ∀p : prop, pp of type prop.
L6
Definition. We define False to be ∀p : prop, p of type prop.
L7
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.
L11
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.
L15
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.
L19
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
L25
Variable A : SType
L26
Definition. We define eq to be λx y : A∀Q : AAprop, Q x yQ y x of type AAprop.
L27
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
L34
Variable A B : SType
L35
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
L39
Variable A : SType
L40
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 exists x...y [possibly with ascriptions] , B as a binder notation corresponding to a term constructed using ex.
L44
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.
L48
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.
L50
Axiom. (set_ext) We take the following as an axiom:
∀X Y : set, X YY XX = Y
L52
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 exists 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.
L58
Axiom. (EmptyAx) We take the following as an axiom:
~ exists x : set, x Empty
Primitive. The name Union is a term of type setset.
L61
Axiom. (UnionEq) We take the following as an axiom:
∀X x, x Union X <-> exists Y, x Y /\ Y X
Primitive. The name Power is a term of type setset.
L65
Axiom. (PowerEq) We take the following as an axiom:
∀X Y : set, Y Power X <-> Y X
Primitive. The name Repl is a term of type set(setset)set.
Notation. {B| xA} is notation for Repl Ax . B).
L70
Axiom. (ReplEq) We take the following as an axiom:
∀A : set, ∀F : setset, ∀y : set, y {F x|xA} <-> exists xA, y = F x
L72
Definition. We define TransSet to be λU : set∀xU, x U of type setprop.
L74
Definition. We define Union_closed to be λU : set∀X : set, X UUnion X U of type setprop.
L76
Definition. We define Power_closed to be λU : set∀X : set, X UPower X U of type setprop.
L77
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.
L79
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.
L85
Axiom. (UnivOf_In) We take the following as an axiom:
∀N : set, N UnivOf N
L87
Axiom. (UnivOf_TransSet) We take the following as an axiom:
∀N : set, TransSet (UnivOf N)
L89
Axiom. (UnivOf_ZF_closed) We take the following as an axiom:
∀N : set, ZF_closed (UnivOf N)
L91
Axiom. (UnivOf_Min) We take the following as an axiom:
∀N U : set, N UTransSet UZF_closed UUnivOf N U
L96
Axiom. (FalseE) We take the following as an axiom:
False∀p : prop, p
L98
Axiom. (TrueI) We take the following as an axiom:
L100
Axiom. (andI) We take the following as an axiom:
∀A B : prop, ABA /\ B
L102
Axiom. (andEL) We take the following as an axiom:
∀A B : prop, A /\ BA
L104
Axiom. (andER) We take the following as an axiom:
∀A B : prop, A /\ BB
L106
Axiom. (orIL) We take the following as an axiom:
∀A B : prop, AA \/ B
L108
Axiom. (orIR) We take the following as an axiom:
∀A B : prop, BA \/ B
Beginning of Section PropN
L112
Variable P1 P2 P3 : prop
L114
Axiom. (and3I) We take the following as an axiom:
P1P2P3P1 /\ P2 /\ P3
L116
Axiom. (and3E) We take the following as an axiom:
P1 /\ P2 /\ P3(∀p : prop, (P1P2P3p)p)
L118
Axiom. (or3I1) We take the following as an axiom:
P1P1 \/ P2 \/ P3
L120
Axiom. (or3I2) We take the following as an axiom:
P2P1 \/ P2 \/ P3
L122
Axiom. (or3I3) We take the following as an axiom:
P3P1 \/ P2 \/ P3
L124
Axiom. (or3E) We take the following as an axiom:
P1 \/ P2 \/ P3(∀p : prop, (P1p)(P2p)(P3p)p)
L126
Variable P4 : prop
L128
Axiom. (and4I) We take the following as an axiom:
P1P2P3P4P1 /\ P2 /\ P3 /\ P4
L130
Variable P5 : prop
L132
Axiom. (and5I) We take the following as an axiom:
P1P2P3P4P5P1 /\ P2 /\ P3 /\ P4 /\ P5
End of Section PropN
L136
Axiom. (not_or_and_demorgan) We take the following as an axiom:
∀A B : prop, ~ (A \/ B)~ A /\ ~ B
L138
Axiom. (not_ex_all_demorgan_i) We take the following as an axiom:
∀P : setprop, (~ exists x, P x)∀x, ~ P x
L140
Axiom. (iffI) We take the following as an axiom:
∀A B : prop, (AB)(BA)(A <-> B)
L142
Axiom. (iffEL) We take the following as an axiom:
∀A B : prop, (A <-> B)AB
L144
Axiom. (iffER) We take the following as an axiom:
∀A B : prop, (A <-> B)BA
L146
Axiom. (iff_refl) We take the following as an axiom:
∀A : prop, A <-> A
L148
Axiom. (iff_sym) We take the following as an axiom:
∀A B : prop, (A <-> B)(B <-> A)
L150
Axiom. (iff_trans) We take the following as an axiom:
∀A B C : prop, (A <-> B)(B <-> C)(A <-> C)
L152
Axiom. (eq_i_tra) We take the following as an axiom:
∀x y z, x = yy = zx = z
L154
Axiom. (f_eq_i) We take the following as an axiom:
∀f : setset, ∀x y, x = yf x = f y
L156
Axiom. (neq_i_sym) We take the following as an axiom:
∀x y, x <> yy <> x
L158
Definition. We define nIn to be λx X ⇒ ~ In x X of type setsetprop.
Notation. We use /:e as an infix operator with priority 502 and no associativity corresponding to applying term nIn.
L163
Axiom. (Eps_i_ex) We take the following as an axiom:
∀P : setprop, (exists x, P x)P (Eps_i P)
L165
Axiom. (pred_ext) We take the following as an axiom:
∀P Q : setprop, (∀x, P x <-> Q x)P = Q
L167
Axiom. (prop_ext_2) We take the following as an axiom:
∀p q : prop, (pq)(qp)p = q
L169
Axiom. (Subq_ref) We take the following as an axiom:
∀X : set, X X
L171
Axiom. (Subq_tra) We take the following as an axiom:
∀X Y Z : set, X YY ZX Z
L173
Axiom. (Subq_contra) We take the following as an axiom:
∀X Y z : set, X Yz /:e Yz /:e X
L175
Axiom. (EmptyE) We take the following as an axiom:
∀x : set, x /:e Empty
L177
Axiom. (Subq_Empty) We take the following as an axiom:
∀X : set, Empty X
L179
Axiom. (Empty_Subq_eq) We take the following as an axiom:
∀X : set, X EmptyX = Empty
L181
Axiom. (Empty_eq) We take the following as an axiom:
∀X : set, (∀x, x /:e X)X = Empty
L183
Axiom. (UnionI) We take the following as an axiom:
∀X x Y : set, x YY Xx Union X
L185
Axiom. (UnionE) We take the following as an axiom:
∀X x : set, x Union Xexists Y : set, x Y /\ Y X
L187
Axiom. (UnionE_impred) We take the following as an axiom:
∀X x : set, x Union X∀p : prop, (∀Y : set, x YY Xp)p
L189
Axiom. (PowerI) We take the following as an axiom:
∀X Y : set, Y XY Power X
L191
Axiom. (PowerE) We take the following as an axiom:
∀X Y : set, Y Power XY X
L193
Axiom. (Empty_In_Power) We take the following as an axiom:
∀X : set, Empty Power X
L195
Axiom. (Self_In_Power) We take the following as an axiom:
∀X : set, X Power X
L197
Axiom. (xm) We take the following as an axiom:
∀P : prop, P \/ ~ P
L199
Axiom. (dneg) We take the following as an axiom:
∀P : prop, ~ ~ PP
L201
Axiom. (not_all_ex_demorgan_i) We take the following as an axiom:
∀P : setprop, ~ (∀x, P x)exists x, ~ P x
L203
Axiom. (eq_or_nand) We take the following as an axiom:
or = (λx y : prop~ (~ x /\ ~ y))
Primitive. The name exactly1of2 is a term of type proppropprop.
L208
Axiom. (exactly1of2_I1) We take the following as an axiom:
∀A B : prop, A~ Bexactly1of2 A B
L210
Axiom. (exactly1of2_I2) We take the following as an axiom:
∀A B : prop, ~ ABexactly1of2 A B
L212
Axiom. (exactly1of2_E) We take the following as an axiom:
∀A B : prop, exactly1of2 A B∀p : prop, (A~ Bp)(~ ABp)p
L218
Axiom. (exactly1of2_or) We take the following as an axiom:
∀A B : prop, exactly1of2 A BA \/ B
L220
Axiom. (ReplI) We take the following as an axiom:
∀A : set, ∀F : setset, ∀x : set, x AF x {F x|xA}
L222
Axiom. (ReplE) We take the following as an axiom:
∀A : set, ∀F : setset, ∀y : set, y {F x|xA}exists xA, y = F x
L224
Axiom. (ReplE_impred) We take the following as an axiom:
∀A : set, ∀F : setset, ∀y : set, y {F x|xA}∀p : prop, (∀x : set, x Ay = F xp)p
L226
Axiom. (ReplE') We take the following as an axiom:
∀X, ∀f : setset, ∀p : setprop, (∀xX, p (f x))∀y{f x|xX}, p y
L228
Axiom. (Repl_Empty) We take the following as an axiom:
∀F : setset, {F x|xEmpty} = Empty
L230
Axiom. (ReplEq_ext_sub) We take the following as an axiom:
∀X, ∀F G : setset, (∀xX, F x = G x){F x|xX} {G x|xX}
L232
Axiom. (ReplEq_ext) We take the following as an axiom:
∀X, ∀F G : setset, (∀xX, F x = G x){F x|xX} = {G x|xX}
L234
Axiom. (Repl_inv_eq) We take the following as an axiom:
∀P : setprop, ∀f g : setset, (∀x, P xg (f x) = x)∀X, (∀xX, P x){g y|y{f x|xX}} = X
L238
Axiom. (Repl_invol_eq) We take the following as an axiom:
∀P : setprop, ∀f : setset, (∀x, P xf (f x) = x)∀X, (∀xX, P x){f y|y{f x|xX}} = X
Primitive. The name If_i is a term 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.
L247
Axiom. (If_i_correct) We take the following as an axiom:
∀p : prop, ∀x y : set, p /\ (if p then x else y) = x \/ ~ p /\ (if p then x else y) = y
L250
Axiom. (If_i_0) We take the following as an axiom:
∀p : prop, ∀x y : set, ~ p(if p then x else y) = y
L253
Axiom. (If_i_1) We take the following as an axiom:
∀p : prop, ∀x y : set, p(if p then x else y) = x
L256
Axiom. (If_i_or) We take the following as an axiom:
∀p : prop, ∀x y : set, (if p then x else y) = x \/ (if p then x else y) = y
Primitive. The name UPair is a term of type setsetset.
Notation. {x,y} is notation for UPair x y.
L263
Axiom. (UPairE) We take the following as an axiom:
∀x y z : set, x {y,z}x = y \/ x = z
L266
Axiom. (UPairI1) We take the following as an axiom:
∀y z : set, y {y,z}
L268
Axiom. (UPairI2) We take the following as an axiom:
∀y z : set, z {y,z}
Primitive. The name Sing is a term of type setset.
Notation. {x} is notation for Sing x.
L274
Axiom. (SingI) We take the following as an axiom:
∀x : set, x {x}
L276
Axiom. (SingE) We take the following as an axiom:
∀x y : set, y {x}y = x
L278
Axiom. (Sing_inj) We take the following as an axiom:
∀x y, {x} = {y}x = y
Primitive. The name binunion is a term of type setsetset.
Notation. We use :\/: as an infix operator with priority 345 and which associates to the left corresponding to applying term binunion.
L285
Axiom. (binunionI1) We take the following as an axiom:
∀X Y z : set, z Xz X :\/: Y
L287
Axiom. (binunionI2) We take the following as an axiom:
∀X Y z : set, z Yz X :\/: Y
L289
Axiom. (binunionE) We take the following as an axiom:
∀X Y z : set, z X :\/: Yz X \/ z Y
L291
Axiom. (binunionE') We take the following as an axiom:
∀X Y z, ∀p : prop, (z Xp)(z Yp)(z X :\/: Yp)
L293
Axiom. (binunion_asso) We take the following as an axiom:
∀X Y Z : set, X :\/: (Y :\/: Z) = (X :\/: Y) :\/: Z
L295
Axiom. (binunion_com_Subq) We take the following as an axiom:
∀X Y : set, X :\/: Y Y :\/: X
L297
Axiom. (binunion_com) We take the following as an axiom:
∀X Y : set, X :\/: Y = Y :\/: X
L299
Axiom. (binunion_idl) We take the following as an axiom:
∀X : set, Empty :\/: X = X
L301
Axiom. (binunion_idr) We take the following as an axiom:
∀X : set, X :\/: Empty = X
L303
Axiom. (binunion_Subq_1) We take the following as an axiom:
∀X Y : set, X X :\/: Y
L305
Axiom. (binunion_Subq_2) We take the following as an axiom:
∀X Y : set, Y X :\/: Y
L307
Axiom. (binunion_Subq_min) We take the following as an axiom:
∀X Y Z : set, X ZY ZX :\/: Y Z
L309
Axiom. (Subq_binunion_eq) We take the following as an axiom:
∀X Y, (X Y) = (X :\/: Y = Y)
L311
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.
Primitive. The name famunion is a term of type set(setset)set.
Notation. We use \/_ x [possibly with ascriptions] , B as a binder notation corresponding to a term constructed using famunion.
L320
Axiom. (famunionI) We take the following as an axiom:
∀X : set, ∀F : (setset), ∀x y : set, x Xy F xy \/_ xX, F x
L322
Axiom. (famunionE) We take the following as an axiom:
∀X : set, ∀F : (setset), ∀y : set, y (\/_ xX, F x)exists xX, y F x
L324
Axiom. (famunionE_impred) We take the following as an axiom:
∀X : set, ∀F : (setset), ∀y : set, y (\/_ xX, F x)∀p : prop, (∀x, x Xy F xp)p
L326
Axiom. (famunion_Empty) We take the following as an axiom:
∀F : setset, (\/_ xEmpty, F x) = Empty
L328
Axiom. (famunion_Subq) We take the following as an axiom:
∀X, ∀f g : setset, (∀xX, f x g x)famunion X f famunion X g
L330
Axiom. (famunion_ext) We take the following as an axiom:
∀X, ∀f g : setset, (∀xX, f x = g x)famunion X f = famunion X g
Beginning of Section SepSec
L334
Variable X : set
L336
Variable P : setprop
L337
Let z : setEps_i (λz ⇒ z X /\ P z)
L338
Let F : setsetλx ⇒ if P x then x else z
Primitive. The name Sep is a term of type set.
End of Section SepSec
Notation. {xA | B} is notation for Sep Ax . B).
L346
Axiom. (SepI) We take the following as an axiom:
∀X : set, ∀P : (setprop), ∀x : set, x XP xx {xX|P x}
L348
Axiom. (SepE) We take the following as an axiom:
∀X : set, ∀P : (setprop), ∀x : set, x {xX|P x}x X /\ P x
L350
Axiom. (SepE1) We take the following as an axiom:
∀X : set, ∀P : (setprop), ∀x : set, x {xX|P x}x X
L352
Axiom. (SepE2) We take the following as an axiom:
∀X : set, ∀P : (setprop), ∀x : set, x {xX|P x}P x
L354
Axiom. (Sep_Empty) We take the following as an axiom:
∀P : setprop, {xEmpty|P x} = Empty
L356
Axiom. (Sep_Subq) We take the following as an axiom:
∀X : set, ∀P : setprop, {xX|P x} X
L358
Axiom. (Sep_In_Power) We take the following as an axiom:
∀X : set, ∀P : setprop, {xX|P x} Power X
Primitive. The name ReplSep is a term of type set(setprop)(setset)set.
Notation. {B| xA, C} is notation for ReplSep Ax . C) (λ x . B).
L364
Axiom. (ReplSepI) We take the following as an axiom:
∀X : set, ∀P : setprop, ∀F : setset, ∀x : set, x XP xF x {F x|xX, P x}
L366
Axiom. (ReplSepE) We take the following as an axiom:
∀X : set, ∀P : setprop, ∀F : setset, ∀y : set, y {F x|xX, P x}exists x : set, x X /\ P x /\ y = F x
L368
Axiom. (ReplSepE_impred) We take the following as an axiom:
∀X : set, ∀P : setprop, ∀F : setset, ∀y : set, y {F x|xX, P x}∀p : prop, (∀xX, P xy = F xp)p
Primitive. The name binintersect is a term of type setsetset.
Notation. We use :/\: as an infix operator with priority 340 and which associates to the left corresponding to applying term binintersect.
L375
Axiom. (binintersectI) We take the following as an axiom:
∀X Y z, z Xz Yz X :/\: Y
L377
Axiom. (binintersectE) We take the following as an axiom:
∀X Y z, z X :/\: Yz X /\ z Y
L379
Axiom. (binintersectE1) We take the following as an axiom:
∀X Y z, z X :/\: Yz X
L381
Axiom. (binintersectE2) We take the following as an axiom:
∀X Y z, z X :/\: Yz Y
L383
Axiom. (binintersect_Subq_1) We take the following as an axiom:
∀X Y : set, X :/\: Y X
L385
Axiom. (binintersect_Subq_2) We take the following as an axiom:
∀X Y : set, X :/\: Y Y
L387
Axiom. (binintersect_Subq_eq_1) We take the following as an axiom:
∀X Y, X YX :/\: Y = X
L389
Axiom. (binintersect_Subq_max) We take the following as an axiom:
∀X Y Z : set, Z XZ YZ X :/\: Y
L391
Axiom. (binintersect_com_Subq) We take the following as an axiom:
∀X Y : set, X :/\: Y Y :/\: X
L393
Axiom. (binintersect_com) We take the following as an axiom:
∀X Y : set, X :/\: Y = Y :/\: X
Primitive. The name setminus is a term of type setsetset.
Notation. We use :\: as an infix operator with priority 350 and no associativity corresponding to applying term setminus.
L400
Axiom. (setminusI) We take the following as an axiom:
∀X Y z, (z X)(z /:e Y)z X :\: Y
L402
Axiom. (setminusE) We take the following as an axiom:
∀X Y z, (z X :\: Y)z X /\ z /:e Y
L404
Axiom. (setminusE1) We take the following as an axiom:
∀X Y z, (z X :\: Y)z X
L406
Axiom. (setminusE2) We take the following as an axiom:
∀X Y z, (z X :\: Y)z /:e Y
L408
Axiom. (setminus_Subq) We take the following as an axiom:
∀X Y : set, X :\: Y X
L410
Axiom. (setminus_Subq_contra) We take the following as an axiom:
∀X Y Z : set, Z YX :\: Y X :\: Z
L412
Axiom. (setminus_In_Power) We take the following as an axiom:
∀A U, A :\: U Power A
L414
Axiom. (setminus_idr) We take the following as an axiom:
∀X, X :\: Empty = X
L416
Axiom. (In_irref) We take the following as an axiom:
∀x, x /:e x
L418
Axiom. (In_no2cycle) We take the following as an axiom:
∀x y, x yy xFalse
Primitive. The name ordsucc is a term of type setset.
L423
Axiom. (ordsuccI1) We take the following as an axiom:
∀x : set, x ordsucc x
L425
Axiom. (ordsuccI2) We take the following as an axiom:
∀x : set, x ordsucc x
L427
Axiom. (ordsuccE) We take the following as an axiom:
∀x y : set, y ordsucc xy x \/ y = x
Notation. Natural numbers 0,1,2,... are notation for the terms formed using Empty as 0 and forming successors with ordsucc.
L431
Axiom. (neq_0_ordsucc) We take the following as an axiom:
∀a : set, 0 <> ordsucc a
L433
Axiom. (neq_ordsucc_0) We take the following as an axiom:
∀a : set, ordsucc a <> 0
L435
Axiom. (ordsucc_inj) We take the following as an axiom:
∀a b : set, ordsucc a = ordsucc ba = b
L437
Axiom. (ordsucc_inj_contra) We take the following as an axiom:
∀a b : set, a <> bordsucc a <> ordsucc b
L439
Axiom. (In_0_1) We take the following as an axiom:
L441
Axiom. (In_0_2) We take the following as an axiom:
L443
Axiom. (In_1_2) We take the following as an axiom:
L445
Axiom. (In_1_3) We take the following as an axiom:
L447
Axiom. (In_2_3) We take the following as an axiom:
L449
Axiom. (In_1_4) We take the following as an axiom:
L451
Axiom. (In_2_4) We take the following as an axiom:
L453
Axiom. (In_3_4) We take the following as an axiom:
L455
Axiom. (In_1_5) We take the following as an axiom:
L457
Axiom. (In_2_5) We take the following as an axiom:
L459
Axiom. (In_3_5) We take the following as an axiom:
L461
Axiom. (In_4_5) We take the following as an axiom:
L463
Axiom. (In_1_6) We take the following as an axiom:
L465
Axiom. (In_1_7) We take the following as an axiom:
L467
Axiom. (In_1_8) We take the following as an axiom:
L469
Definition. We define nat_p to be λn : set∀p : setprop, p 0(∀x : set, p xp (ordsucc x))p n of type setprop.
L471
Axiom. (nat_0) We take the following as an axiom:
L473
Axiom. (nat_ordsucc) We take the following as an axiom:
∀n : set, nat_p nnat_p (ordsucc n)
L475
Axiom. (nat_1) We take the following as an axiom:
L477
Axiom. (nat_2) We take the following as an axiom:
L479
Axiom. (nat_3) We take the following as an axiom:
L481
Axiom. (nat_4) We take the following as an axiom:
L483
Axiom. (nat_5) We take the following as an axiom:
L485
Axiom. (nat_6) We take the following as an axiom:
L487
Axiom. (nat_7) We take the following as an axiom:
L489
Axiom. (nat_8) We take the following as an axiom:
L491
Axiom. (nat_0_in_ordsucc) We take the following as an axiom:
∀n, nat_p n0 ordsucc n
L493
Axiom. (nat_ordsucc_in_ordsucc) We take the following as an axiom:
∀n, nat_p n∀mn, ordsucc m ordsucc n
L495
Axiom. (nat_ind) We take the following as an axiom:
∀p : setprop, p 0(∀n, nat_p np np (ordsucc n))∀n, nat_p np n
L497
Axiom. (nat_inv_impred) We take the following as an axiom:
∀p : setprop, p 0(∀n, nat_p np (ordsucc n))∀n, nat_p np n
L499
Axiom. (nat_inv) We take the following as an axiom:
∀n, nat_p nn = 0 \/ exists x, nat_p x /\ n = ordsucc x
L501
Axiom. (nat_complete_ind) We take the following as an axiom:
∀p : setprop, (∀n, nat_p n(∀mn, p m)p n)∀n, nat_p np n
L503
Axiom. (nat_p_trans) We take the following as an axiom:
∀n, nat_p n∀mn, nat_p m
L505
Axiom. (nat_trans) We take the following as an axiom:
∀n, nat_p n∀mn, m n
L507
Axiom. (nat_ordsucc_trans) We take the following as an axiom:
∀n, nat_p n∀mordsucc n, m n
L509
Axiom. (Union_ordsucc_eq) We take the following as an axiom:
∀n, nat_p nUnion (ordsucc n) = n
L511
Axiom. (cases_1) We take the following as an axiom:
∀i1, ∀p : setprop, p 0p i
L513
Axiom. (cases_2) We take the following as an axiom:
∀i2, ∀p : setprop, p 0p 1p i
L515
Axiom. (cases_3) We take the following as an axiom:
∀i3, ∀p : setprop, p 0p 1p 2p i
L517
Axiom. (neq_0_1) We take the following as an axiom:
L519
Axiom. (neq_1_0) We take the following as an axiom:
L521
Axiom. (neq_0_2) We take the following as an axiom:
L523
Axiom. (neq_2_0) We take the following as an axiom:
L525
Axiom. (neq_1_2) We take the following as an axiom:
L527
Axiom. (neq_1_3) We take the following as an axiom:
L529
Axiom. (neq_2_3) We take the following as an axiom:
L531
Axiom. (neq_2_4) We take the following as an axiom:
L533
Axiom. (neq_3_4) We take the following as an axiom:
L535
Axiom. (ZF_closed_E) We take the following as an axiom:
∀U, ZF_closed U∀p : prop, (Union_closed UPower_closed URepl_closed Up)p
L542
Axiom. (ZF_Union_closed) We take the following as an axiom:
∀U, ZF_closed U∀XU, Union X U
L545
Axiom. (ZF_Power_closed) We take the following as an axiom:
∀U, ZF_closed U∀XU, Power X U
L548
Axiom. (ZF_Repl_closed) We take the following as an axiom:
∀U, ZF_closed U∀XU, ∀F : setset, (∀xX, F x U){F x|xX} U
L551
Axiom. (ZF_UPair_closed) We take the following as an axiom:
∀U, ZF_closed U∀x yU, {x,y} U
L554
Axiom. (ZF_Sing_closed) We take the following as an axiom:
∀U, ZF_closed U∀xU, {x} U
L557
Axiom. (ZF_binunion_closed) We take the following as an axiom:
∀U, ZF_closed U∀X YU, (X :\/: Y) U
L560
Axiom. (ZF_ordsucc_closed) We take the following as an axiom:
∀U, ZF_closed U∀xU, ordsucc x U
L563
Axiom. (nat_p_UnivOf_Empty) We take the following as an axiom:
∀n : set, nat_p nn UnivOf Empty
Primitive. The name omega is a term of type set.
L568
Axiom. (omega_nat_p) We take the following as an axiom:
L570
Axiom. (nat_p_omega) We take the following as an axiom:
∀n : set, nat_p nn omega
L572
Axiom. (omega_ordsucc) We take the following as an axiom:
L574
Definition. We define ordinal to be λalpha : setTransSet alpha /\ ∀betaalpha, TransSet beta of type setprop.
L576
Axiom. (ordinal_TransSet) We take the following as an axiom:
∀alpha : set, ordinal alphaTransSet alpha
L578
Axiom. (ordinal_Empty) We take the following as an axiom:
L580
Axiom. (ordinal_Hered) We take the following as an axiom:
∀alpha : set, ordinal alpha∀betaalpha, ordinal beta
L582
Axiom. (TransSet_ordsucc) We take the following as an axiom:
∀X : set, TransSet XTransSet (ordsucc X)
L584
Axiom. (ordinal_ordsucc) We take the following as an axiom:
∀alpha : set, ordinal alphaordinal (ordsucc alpha)
L586
Axiom. (nat_p_ordinal) We take the following as an axiom:
∀n : set, nat_p nordinal n
L588
Axiom. (ordinal_1) We take the following as an axiom:
L590
Axiom. (ordinal_2) We take the following as an axiom:
L592
Axiom. (omega_TransSet) We take the following as an axiom:
L594
Axiom. (omega_ordinal) We take the following as an axiom:
L596
Axiom. (ordsucc_omega_ordinal) We take the following as an axiom:
L598
Axiom. (TransSet_ordsucc_In_Subq) We take the following as an axiom:
∀X : set, TransSet X∀xX, ordsucc x X
L600
Axiom. (ordinal_ordsucc_In_Subq) We take the following as an axiom:
∀alpha, ordinal alpha∀betaalpha, ordsucc beta alpha
L602
Axiom. (ordinal_trichotomy_or) We take the following as an axiom:
∀alpha beta : set, ordinal alphaordinal betaalpha beta \/ alpha = beta \/ beta alpha
L604
Axiom. (ordinal_trichotomy_or_impred) We take the following as an axiom:
∀alpha beta : set, ordinal alphaordinal beta∀p : prop, (alpha betap)(alpha = betap)(beta alphap)p
L606
Axiom. (ordinal_In_Or_Subq) We take the following as an axiom:
∀alpha beta, ordinal alphaordinal betaalpha beta \/ beta alpha
L608
Axiom. (ordinal_linear) We take the following as an axiom:
∀alpha beta, ordinal alphaordinal betaalpha beta \/ beta alpha
L610
Axiom. (ordinal_ordsucc_In_eq) We take the following as an axiom:
∀alpha beta, ordinal alphabeta alphaordsucc beta alpha \/ alpha = ordsucc beta
L612
Axiom. (ordinal_lim_or_succ) We take the following as an axiom:
∀alpha, ordinal alpha(∀betaalpha, ordsucc beta alpha) \/ (exists betaalpha, alpha = ordsucc beta)
L614
Axiom. (ordinal_ordsucc_In) We take the following as an axiom:
∀alpha, ordinal alpha∀betaalpha, ordsucc beta ordsucc alpha
L616
Axiom. (ordinal_famunion) We take the following as an axiom:
∀X, ∀F : setset, (∀xX, ordinal (F x))ordinal (\/_ xX, F x)
L618
Axiom. (ordinal_binintersect) We take the following as an axiom:
∀alpha beta, ordinal alphaordinal betaordinal (alpha :/\: beta)
L620
Axiom. (ordinal_binunion) We take the following as an axiom:
∀alpha beta, ordinal alphaordinal betaordinal (alpha :\/: beta)
L622
Axiom. (ordinal_ind) We take the following as an axiom:
∀p : setprop, (∀alpha, ordinal alpha(∀betaalpha, p beta)p alpha)∀alpha, ordinal alphap alpha
L627
Axiom. (least_ordinal_ex) We take the following as an axiom:
∀p : setprop, (exists alpha, ordinal alpha /\ p alpha)exists alpha, ordinal alpha /\ p alpha /\ ∀betaalpha, ~ p beta
L629
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.
L635
Definition. We define bij to be λX Y f ⇒ (∀uX, f u Y) /\ (∀u vX, f u = f vu = v) /\ (∀wY, exists uX, f u = w) of type setset(setset)prop.
L643
Axiom. (bijI) We take the following as an axiom:
∀X Y, ∀f : setset, (∀uX, f u Y)(∀u vX, f u = f vu = v)(∀wY, exists uX, f u = w)bij X Y f
L649
Axiom. (bijE) We take the following as an axiom:
∀X Y, ∀f : setset, bij X Y f∀p : prop, ((∀uX, f u Y)(∀u vX, f u = f vu = v)(∀wY, exists uX, f u = w)p)p
Primitive. The name inv is a term of type set(setset)setset.
L661
Axiom. (surj_rinv) We take the following as an axiom:
∀X Y, ∀f : setset, (∀wY, exists uX, f u = w)∀yY, inv X f y X /\ f (inv X f y) = y
L663
Axiom. (inj_linv) We take the following as an axiom:
∀X, ∀f : setset, (∀u vX, f u = f vu = v)∀xX, inv X f (f x) = x
L665
Axiom. (bij_inv) We take the following as an axiom:
∀X Y, ∀f : setset, bij X Y fbij Y X (inv X f)
L667
Axiom. (bij_id) We take the following as an axiom:
∀X, bij X X (λx ⇒ x)
L669
Axiom. (bij_comp) We take the following as an axiom:
∀X Y Z : set, ∀f g : setset, bij X Y fbij Y Z gbij X Z (λx ⇒ g (f x))
L671
Definition. We define equip to be λX Y : setexists f : setset, bij X Y f of type setsetprop.
L674
Axiom. (equip_ref) We take the following as an axiom:
∀X, equip X X
L676
Axiom. (equip_sym) We take the following as an axiom:
∀X Y, equip X Yequip Y X
L678
Axiom. (equip_tra) We take the following as an axiom:
∀X Y Z, equip X Yequip Y Zequip X Z
L680
Axiom. (equip_0_Empty) We take the following as an axiom:
∀X, equip X 0X = 0
Beginning of Section SchroederBernstein
L684
Axiom. (KnasterTarski_set) We take the following as an axiom:
∀A, ∀F : setset, (∀UPower A, F U Power A)(∀U VPower A, U VF U F V)exists YPower A, F Y = Y
L689
Axiom. (image_In_Power) We take the following as an axiom:
∀A B, ∀f : setset, (∀xA, f x B)∀UPower A, {f x|xU} Power B
L691
Axiom. (image_monotone) We take the following as an axiom:
∀f : setset, ∀U V, U V{f x|xU} {f x|xV}
L693
Axiom. (setminus_antimonotone) We take the following as an axiom:
∀A U V, U VA :\: V A :\: U
L695
Axiom. (SchroederBernstein) We take the following as an axiom:
∀A B, ∀f g : setset, inj A B finj B A gequip A B
End of Section SchroederBernstein
Beginning of Section PigeonHole
L701
Axiom. (PigeonHole_nat) We take the following as an axiom:
∀n, nat_p n∀f : setset, (∀iordsucc n, f i n)~ (∀i jordsucc n, f i = f ji = j)
L703
Axiom. (PigeonHole_nat_bij) We take the following as an axiom:
∀n, nat_p n∀f : setset, (∀in, f i n)(∀i jn, f i = f ji = j)bij n n f
End of Section PigeonHole
L707
Definition. We define finite to be λX ⇒ exists nomega, equip X n of type setprop.
L709
Axiom. (finite_ind) We take the following as an axiom:
∀p : setprop, p Empty(∀X y, finite Xy /:e Xp Xp (X :\/: {y}))∀X, finite Xp X
L714
Axiom. (finite_Empty) We take the following as an axiom:
L716
Axiom. (adjoin_finite) We take the following as an axiom:
∀X y, finite Xfinite (X :\/: {y})
L718
Axiom. (binunion_finite) We take the following as an axiom:
∀X, finite X∀Y, finite Yfinite (X :\/: Y)
L720
Axiom. (famunion_nat_finite) We take the following as an axiom:
∀X : setset, ∀n, nat_p n(∀in, finite (X i))finite (\/_ in, X i)
L722
Axiom. (Subq_finite) We take the following as an axiom:
∀X, finite X∀Y, Y Xfinite Y
L724
Axiom. (TransSet_In_ordsucc_Subq) We take the following as an axiom:
∀x y, TransSet yx ordsucc yx y
L726
Axiom. (exandE_i) We take the following as an axiom:
∀P Q : setprop, (exists x, P x /\ Q x)∀r : prop, (∀x, P xQ xr)r
L728
Axiom. (exandE_ii) We take the following as an axiom:
∀P Q : (setset)prop, (exists x : setset, P x /\ Q x)∀p : prop, (∀x : setset, P xQ xp)p
L730
Axiom. (exandE_iii) We take the following as an axiom:
∀P Q : (setsetset)prop, (exists x : setsetset, P x /\ Q x)∀p : prop, (∀x : setsetset, P xQ xp)p
L732
Axiom. (exandE_iiii) We take the following as an axiom:
∀P Q : (setsetsetset)prop, (exists x : setsetsetset, P x /\ Q x)∀p : prop, (∀x : setsetsetset, P xQ xp)p
Beginning of Section Descr_ii
L736
Variable P : (setset)prop
Primitive. The name Descr_ii is a term of type setset.
L741
Hypothesis Pex : exists f : setset, P f
L743
Hypothesis Puniq : ∀f g : setset, P fP gf = g
L744
Axiom. (Descr_ii_prop) We take the following as an axiom:
End of Section Descr_ii
Beginning of Section Descr_iii
L750
Variable P : (setsetset)prop
Primitive. The name Descr_iii is a term of type setsetset.
L755
Hypothesis Pex : exists f : setsetset, P f
L757
Hypothesis Puniq : ∀f g : setsetset, P fP gf = g
L758
Axiom. (Descr_iii_prop) We take the following as an axiom:
End of Section Descr_iii
Beginning of Section Descr_Vo1
L764
Variable P : Vo 1prop
Primitive. The name Descr_Vo1 is a term of type Vo 1.
L769
Hypothesis Pex : exists f : Vo 1, P f
L771
Hypothesis Puniq : ∀f g : Vo 1, P fP gf = g
L772
Axiom. (Descr_Vo1_prop) We take the following as an axiom:
End of Section Descr_Vo1
Beginning of Section If_ii
L778
Variable p : prop
L780
Variable f g : setset
Primitive. The name If_ii is a term of type setset.
L784
Axiom. (If_ii_1) We take the following as an axiom:
pIf_ii = f
L786
Axiom. (If_ii_0) We take the following as an axiom:
~ pIf_ii = g
End of Section If_ii
Beginning of Section If_iii
L792
Variable p : prop
L794
Variable f g : setsetset
Primitive. The name If_iii is a term of type setsetset.
L798
Axiom. (If_iii_1) We take the following as an axiom:
pIf_iii = f
L800
Axiom. (If_iii_0) We take the following as an axiom:
~ pIf_iii = g
End of Section If_iii
Beginning of Section EpsilonRec_i
L806
Variable F : set(setset)set
L808
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.
Primitive. The name In_rec_i is a term of type setset.
L817
Axiom. (In_rec_i_G_c) We take the following as an axiom:
∀X : set, ∀f : setset, (∀xX, In_rec_i_G x (f x))In_rec_i_G X (F X f)
L819
Axiom. (In_rec_i_G_inv) We take the following as an axiom:
∀X : set, ∀Y : set, In_rec_i_G X Yexists f : setset, (∀xX, In_rec_i_G x (f x)) /\ Y = F X f
L821
Hypothesis Fr : ∀X : set, ∀g h : setset, (∀xX, g x = h x)F X g = F X h
L823
Axiom. (In_rec_i_G_f) We take the following as an axiom:
∀X : set, ∀Y Z : set, In_rec_i_G X YIn_rec_i_G X ZY = Z
L825
Axiom. (In_rec_i_G_In_rec_i) We take the following as an axiom:
∀X : set, In_rec_i_G X (In_rec_i X)
L827
Axiom. (In_rec_i_G_In_rec_i_d) We take the following as an axiom:
∀X : set, In_rec_i_G X (F X In_rec_i)
L829
Axiom. (In_rec_i_eq) We take the following as an axiom:
∀X : set, In_rec_i X = F X In_rec_i
End of Section EpsilonRec_i
Beginning of Section EpsilonRec_ii
L835
Variable F : set(set(setset))(setset)
L837
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.
Primitive. The name In_rec_ii is a term of type set(setset).
L846
Axiom. (In_rec_G_ii_c) We take the following as an axiom:
∀X : set, ∀f : set(setset), (∀xX, In_rec_G_ii x (f x))In_rec_G_ii X (F X f)
L848
Axiom. (In_rec_G_ii_inv) We take the following as an axiom:
∀X : set, ∀Y : (setset), In_rec_G_ii X Yexists f : set(setset), (∀xX, In_rec_G_ii x (f x)) /\ Y = F X f
L850
Hypothesis Fr : ∀X : set, ∀g h : set(setset), (∀xX, g x = h x)F X g = F X h
L852
Axiom. (In_rec_G_ii_f) We take the following as an axiom:
∀X : set, ∀Y Z : (setset), In_rec_G_ii X YIn_rec_G_ii X ZY = Z
L854
Axiom. (In_rec_G_ii_In_rec_ii) We take the following as an axiom:
∀X : set, In_rec_G_ii X (In_rec_ii X)
L856
Axiom. (In_rec_G_ii_In_rec_ii_d) We take the following as an axiom:
∀X : set, In_rec_G_ii X (F X In_rec_ii)
L858
Axiom. (In_rec_ii_eq) We take the following as an axiom:
∀X : set, In_rec_ii X = F X In_rec_ii
End of Section EpsilonRec_ii
Beginning of Section EpsilonRec_iii
L864
Variable F : set(set(setsetset))(setsetset)
L866
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.
Primitive. The name In_rec_iii is a term of type set(setsetset).
L875
Axiom. (In_rec_G_iii_c) We take the following as an axiom:
∀X : set, ∀f : set(setsetset), (∀xX, In_rec_G_iii x (f x))In_rec_G_iii X (F X f)
L877
Axiom. (In_rec_G_iii_inv) We take the following as an axiom:
∀X : set, ∀Y : (setsetset), In_rec_G_iii X Yexists f : set(setsetset), (∀xX, In_rec_G_iii x (f x)) /\ Y = F X f
L879
Hypothesis Fr : ∀X : set, ∀g h : set(setsetset), (∀xX, g x = h x)F X g = F X h
L881
Axiom. (In_rec_G_iii_f) We take the following as an axiom:
∀X : set, ∀Y Z : (setsetset), In_rec_G_iii X YIn_rec_G_iii X ZY = Z
L883
Axiom. (In_rec_G_iii_In_rec_iii) We take the following as an axiom:
∀X : set, In_rec_G_iii X (In_rec_iii X)
L885
Axiom. (In_rec_G_iii_In_rec_iii_d) We take the following as an axiom:
∀X : set, In_rec_G_iii X (F X In_rec_iii)
L887
Axiom. (In_rec_iii_eq) We take the following as an axiom:
∀X : set, In_rec_iii X = F X In_rec_iii
End of Section EpsilonRec_iii
Beginning of Section NatRec
L893
Variable z : set
L895
Variable f : setsetset
L896
Let F : set(setset)setλn g ⇒ if Union n n then f (Union n) (g (Union n)) else z
L897
Definition. We define nat_primrec to be In_rec_i F of type setset.
L899
Axiom. (nat_primrec_r) We take the following as an axiom:
∀X : set, ∀g h : setset, (∀xX, g x = h x)F X g = F X h
L901
Axiom. (nat_primrec_0) We take the following as an axiom:
L903
Axiom. (nat_primrec_S) We take the following as an axiom:
∀n : set, nat_p nnat_primrec (ordsucc n) = f n (nat_primrec n)
End of Section NatRec
Beginning of Section NatArith
L909
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.
L913
Axiom. (add_nat_0R) We take the following as an axiom:
∀n : set, n + 0 = n
L915
Axiom. (add_nat_SR) We take the following as an axiom:
∀n m : set, nat_p mn + ordsucc m = ordsucc (n + m)
L917
Axiom. (add_nat_p) We take the following as an axiom:
∀n : set, nat_p n∀m : set, nat_p mnat_p (n + m)
L919
Axiom. (add_nat_1_1_2) We take the following as an axiom:
1 + 1 = 2
L921
Axiom. (add_nat_0L) We take the following as an axiom:
∀m : set, nat_p m0 + m = m
L923
Axiom. (add_nat_SL) We take the following as an axiom:
∀n : set, nat_p n∀m : set, nat_p mordsucc n + m = ordsucc (n + m)
L925
Axiom. (add_nat_com) We take the following as an axiom:
∀n : set, nat_p n∀m : set, nat_p mn + m = m + n
L927
Axiom. (nat_Subq_add_ex) We take the following as an axiom:
∀n, nat_p n∀m, nat_p mn mexists k, nat_p k /\ m = k + n
L929
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.
L933
Axiom. (mul_nat_0R) We take the following as an axiom:
∀n : set, n * 0 = 0
L935
Axiom. (mul_nat_SR) We take the following as an axiom:
∀n m : set, nat_p mn * ordsucc m = n + n * m
L937
Axiom. (mul_nat_p) We take the following as an axiom:
∀n : set, nat_p n∀m : set, nat_p mnat_p (n * m)
End of Section NatArith
L941
Definition. We define Inj1 to be In_rec_i (λX f ⇒ {0} :\/: {f x|xX}) of type setset.
L944
Axiom. (Inj1_eq) We take the following as an axiom:
∀X : set, Inj1 X = {0} :\/: {Inj1 x|xX}
L946
Axiom. (Inj1I1) We take the following as an axiom:
∀X : set, 0 Inj1 X
L948
Axiom. (Inj1I2) We take the following as an axiom:
∀X x : set, x XInj1 x Inj1 X
L950
Axiom. (Inj1E) We take the following as an axiom:
∀X y : set, y Inj1 Xy = 0 \/ exists xX, y = Inj1 x
L952
Axiom. (Inj1NE1) We take the following as an axiom:
∀x : set, Inj1 x <> 0
L954
Axiom. (Inj1NE2) We take the following as an axiom:
∀x : set, Inj1 x /:e {0}
L956
Definition. We define Inj0 to be λX ⇒ {Inj1 x|xX} of type setset.
L959
Axiom. (Inj0I) We take the following as an axiom:
∀X x : set, x XInj1 x Inj0 X
L961
Axiom. (Inj0E) We take the following as an axiom:
∀X y : set, y Inj0 Xexists x : set, x X /\ y = Inj1 x
L963
Definition. We define Unj to be In_rec_i (λX f ⇒ {f x|xX :\: {0}}) of type setset.
L966
Axiom. (Unj_eq) We take the following as an axiom:
∀X : set, Unj X = {Unj x|xX :\: {0}}
L968
Axiom. (Unj_Inj1_eq) We take the following as an axiom:
∀X : set, Unj (Inj1 X) = X
L970
Axiom. (Inj1_inj) We take the following as an axiom:
∀X Y : set, Inj1 X = Inj1 YX = Y
L972
Axiom. (Unj_Inj0_eq) We take the following as an axiom:
∀X : set, Unj (Inj0 X) = X
L974
Axiom. (Inj0_inj) We take the following as an axiom:
∀X Y : set, Inj0 X = Inj0 YX = Y
L976
Axiom. (Inj0_0) We take the following as an axiom:
L978
Axiom. (Inj0_Inj1_neq) We take the following as an axiom:
∀X Y : set, Inj0 X <> Inj1 Y
L980
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.
L985
Axiom. (Inj0_setsum) We take the following as an axiom:
∀X Y x : set, x XInj0 x X :+: Y
L987
Axiom. (Inj1_setsum) We take the following as an axiom:
∀X Y y : set, y YInj1 y X :+: Y
L989
Axiom. (setsum_Inj_inv) We take the following as an axiom:
∀X Y z : set, z X :+: Y(exists xX, z = Inj0 x) \/ (exists yY, z = Inj1 y)
L991
Axiom. (Inj0_setsum_0L) We take the following as an axiom:
∀X : set, 0 :+: X = Inj0 X
L993
Axiom. (Subq_1_Sing0) We take the following as an axiom:
L995
Axiom. (Subq_Sing0_1) We take the following as an axiom:
L997
Axiom. (eq_1_Sing0) We take the following as an axiom:
L999
Axiom. (Inj1_setsum_1L) We take the following as an axiom:
∀X : set, 1 :+: X = Inj1 X
L1001
Axiom. (nat_setsum1_ordsucc) We take the following as an axiom:
∀n : set, nat_p n1 :+: n = ordsucc n
L1003
Axiom. (setsum_0_0) We take the following as an axiom:
L1005
Axiom. (setsum_1_0_1) We take the following as an axiom:
L1007
Axiom. (setsum_1_1_2) We take the following as an axiom:
Beginning of Section pair_setsum
L1011
Let pair ≝ setsum
L1013
Definition. We define proj0 to be λZ ⇒ {Unj z|zZ, exists x : set, Inj0 x = z} of type setset.
L1015
Definition. We define proj1 to be λZ ⇒ {Unj z|zZ, exists y : set, Inj1 y = z} of type setset.
L1016
Axiom. (Inj0_pair_0_eq) We take the following as an axiom:
Inj0 = pair 0
L1018
Axiom. (Inj1_pair_1_eq) We take the following as an axiom:
Inj1 = pair 1
L1020
Axiom. (pairI0) We take the following as an axiom:
∀X Y x, x Xpair 0 x pair X Y
L1022
Axiom. (pairI1) We take the following as an axiom:
∀X Y y, y Ypair 1 y pair X Y
L1024
Axiom. (pairE) We take the following as an axiom:
∀X Y z, z pair X Y(exists xX, z = pair 0 x) \/ (exists yY, z = pair 1 y)
L1026
Axiom. (pairE0) We take the following as an axiom:
∀X Y x, pair 0 x pair X Yx X
L1028
Axiom. (pairE1) We take the following as an axiom:
∀X Y y, pair 1 y pair X Yy Y
L1030
Axiom. (proj0I) We take the following as an axiom:
∀w u : set, pair 0 u wu proj0 w
L1032
Axiom. (proj0E) We take the following as an axiom:
∀w u : set, u proj0 wpair 0 u w
L1034
Axiom. (proj1I) We take the following as an axiom:
∀w u : set, pair 1 u wu proj1 w
L1036
Axiom. (proj1E) We take the following as an axiom:
∀w u : set, u proj1 wpair 1 u w
L1038
Axiom. (proj0_pair_eq) We take the following as an axiom:
∀X Y : set, proj0 (pair X Y) = X
L1040
Axiom. (proj1_pair_eq) We take the following as an axiom:
∀X Y : set, proj1 (pair X Y) = Y
L1042
Definition. We define Sigma to be λX Y ⇒ \/_ xX, {pair x y|yY x} of type set(setset)set.
Notation. We use Sigma_ x...y [possibly with ascriptions] , B as a binder notation corresponding to a term constructed using Sigma.
L1049
Axiom. (pair_Sigma) We take the following as an axiom:
∀X : set, ∀Y : setset, ∀xX, ∀yY x, pair x y Sigma_ xX, Y x
L1051
Axiom. (Sigma_eta_proj0_proj1) We take the following as an axiom:
∀X : set, ∀Y : setset, ∀z(Sigma_ xX, Y x), pair (proj0 z) (proj1 z) = z /\ proj0 z X /\ proj1 z Y (proj0 z)
L1053
Axiom. (proj_Sigma_eta) We take the following as an axiom:
∀X : set, ∀Y : setset, ∀z(Sigma_ xX, Y x), pair (proj0 z) (proj1 z) = z
L1055
Axiom. (proj0_Sigma) We take the following as an axiom:
∀X : set, ∀Y : setset, ∀z : set, z (Sigma_ xX, Y x)proj0 z X
L1057
Axiom. (proj1_Sigma) We take the following as an axiom:
∀X : set, ∀Y : setset, ∀z : set, z (Sigma_ xX, Y x)proj1 z Y (proj0 z)
L1059
Axiom. (pair_Sigma_E1) We take the following as an axiom:
∀X : set, ∀Y : setset, ∀x y : set, pair x y (Sigma_ xX, Y x)y Y x
L1061
Axiom. (Sigma_E) We take the following as an axiom:
∀X : set, ∀Y : setset, ∀z : set, z (Sigma_ xX, Y x)exists xX, exists yY x, z = pair x y
L1063
Definition. We define setprod to be λX Y : setSigma_ xX, 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.
L1067
Let lam : set(setset)setSigma
L1070
Definition. We define ap to be λf x ⇒ {proj1 z|zf, exists 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.
L1076
Axiom. (lamI) We take the following as an axiom:
∀X : set, ∀F : setset, ∀xX, ∀yF x, pair x y λxXF x
L1078
Axiom. (lamE) We take the following as an axiom:
∀X : set, ∀F : setset, ∀z : set, z (λxXF x)exists xX, exists yF x, z = pair x y
L1080
Axiom. (apI) We take the following as an axiom:
∀f x y, pair x y fy f x
L1082
Axiom. (apE) We take the following as an axiom:
∀f x y, y f xpair x y f
L1084
Axiom. (beta) We take the following as an axiom:
∀X : set, ∀F : setset, ∀x : set, x X(λxXF x) x = F x
L1086
Axiom. (proj0_ap_0) We take the following as an axiom:
∀u, proj0 u = u 0
L1088
Axiom. (proj1_ap_1) We take the following as an axiom:
∀u, proj1 u = u 1
L1090
Axiom. (pair_ap_0) We take the following as an axiom:
∀x y : set, (pair x y) 0 = x
L1092
Axiom. (pair_ap_1) We take the following as an axiom:
∀x y : set, (pair x y) 1 = y
L1094
Axiom. (ap0_Sigma) We take the following as an axiom:
∀X : set, ∀Y : setset, ∀z : set, z (Sigma_ xX, Y x)(z 0) X
L1096
Axiom. (ap1_Sigma) We take the following as an axiom:
∀X : set, ∀Y : setset, ∀z : set, z (Sigma_ xX, Y x)(z 1) (Y (z 0))
L1098
Definition. We define pair_p to be λu : setpair (u 0) (u 1) = u of type setprop.
L1101
Axiom. (pair_p_I) We take the following as an axiom:
∀x y, pair_p (pair x y)
L1103
Axiom. (Subq_2_UPair01) We take the following as an axiom:
L1105
Axiom. (tuple_pair) We take the following as an axiom:
∀x y : set, pair x y = (x,y)
L1107
Definition. We define Pi to be λX Y ⇒ {fPower (Sigma_ xX, Union (Y x))|∀xX, f x Y x} of type set(setset)set.
Notation. We use Pi_ x...y [possibly with ascriptions] , B as a binder notation corresponding to a term constructed using Pi.
L1111
Axiom. (PiI) We take the following as an axiom:
∀X : set, ∀Y : setset, ∀f : set, (∀uf, pair_p u /\ u 0 X)(∀xX, f x Y x)f Pi_ xX, Y x
L1114
Axiom. (lam_Pi) We take the following as an axiom:
∀X : set, ∀Y : setset, ∀F : setset, (∀xX, F x Y x)(λxXF x) (Pi_ xX, Y x)
L1117
Axiom. (ap_Pi) We take the following as an axiom:
∀X : set, ∀Y : setset, ∀f : set, ∀x : set, f (Pi_ xX, Y x)x Xf x Y x
L1119
Definition. We define setexp to be λX Y : setPi_ yY, 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.
L1123
Axiom. (pair_tuple_fun) We take the following as an axiom:
pair = (λx y ⇒ (x,y))
L1125
Axiom. (lamI2) We take the following as an axiom:
∀X, ∀F : setset, ∀xX, ∀yF x, (x,y) λxXF x
Beginning of Section Tuples
L1129
Variable x0 x1 : set
L1131
Axiom. (tuple_2_0_eq) We take the following as an axiom:
(x0,x1) 0 = x0
L1133
Axiom. (tuple_2_1_eq) We take the following as an axiom:
(x0,x1) 1 = x1
End of Section Tuples
L1137
Axiom. (ReplEq_setprod_ext) We take the following as an axiom:
∀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}
L1139
Axiom. (tuple_2_Sigma) We take the following as an axiom:
∀X : set, ∀Y : setset, ∀xX, ∀yY x, (x,y) Sigma_ xX, Y x
L1141
Axiom. (tuple_2_setprod) We take the following as an axiom:
∀X : set, ∀Y : set, ∀xX, ∀yY, (x,y) X :*: Y
End of Section pair_setsum
Primitive. The name DescrR_i_io_1 is a term of type (set(setprop)prop)set.
Primitive. The name DescrR_i_io_2 is a term of type (set(setprop)prop)setprop.
L1153
Axiom. (DescrR_i_io_12) We take the following as an axiom:
∀R : set(setprop)prop, (exists x, (exists 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)
L1155
Definition. We define PNoEq_ to be λalpha p q ⇒ ∀betaalpha, p beta <-> q beta of type set(setprop)(setprop)prop.
L1162
Axiom. (PNoEq_ref_) We take the following as an axiom:
∀alpha, ∀p : setprop, PNoEq_ alpha p p
L1164
Axiom. (PNoEq_sym_) We take the following as an axiom:
∀alpha, ∀p q : setprop, PNoEq_ alpha p qPNoEq_ alpha q p
L1166
Axiom. (PNoEq_tra_) We take the following as an axiom:
∀alpha, ∀p q r : setprop, PNoEq_ alpha p qPNoEq_ alpha q rPNoEq_ alpha p r
L1168
Axiom. (PNoEq_antimon_) We take the following as an axiom:
∀p q : setprop, ∀alpha, ordinal alpha∀betaalpha, PNoEq_ alpha p qPNoEq_ beta p q
L1170
Definition. We define PNoLt_ to be λalpha p q ⇒ exists betaalpha, PNoEq_ beta p q /\ ~ p beta /\ q beta of type set(setprop)(setprop)prop.
L1173
Axiom. (PNoLt_E_) We take the following as an axiom:
∀alpha, ∀p q : setprop, PNoLt_ alpha p q∀R : prop, (∀beta, beta alphaPNoEq_ beta p q~ p betaq betaR)R
L1176
Axiom. (PNoLt_irref_) We take the following as an axiom:
∀alpha, ∀p : setprop, ~ PNoLt_ alpha p p
L1178
Axiom. (PNoLt_mon_) We take the following as an axiom:
∀p q : setprop, ∀alpha, ordinal alpha∀betaalpha, PNoLt_ beta p qPNoLt_ alpha p q
L1180
Axiom. (PNoLt_trichotomy_or_) We take the following as an axiom:
∀p q : setprop, ∀alpha, ordinal alphaPNoLt_ alpha p q \/ PNoEq_ alpha p q \/ PNoLt_ alpha q p
L1183
Axiom. (PNoLt_tra_) We take the following as an axiom:
∀alpha, ordinal alpha∀p q r : setprop, PNoLt_ alpha p qPNoLt_ alpha q rPNoLt_ alpha p r
Primitive. The name PNoLt is a term of type set(setprop)set(setprop)prop.
L1188
Axiom. (PNoLtI1) We take the following as an axiom:
∀alpha beta, ∀p q : setprop, PNoLt_ (alpha :/\: beta) p qPNoLt alpha p beta q
L1191
Axiom. (PNoLtI2) We take the following as an axiom:
∀alpha beta, ∀p q : setprop, alpha betaPNoEq_ alpha p qq alphaPNoLt alpha p beta q
L1194
Axiom. (PNoLtI3) We take the following as an axiom:
∀alpha beta, ∀p q : setprop, beta alphaPNoEq_ beta p q~ p betaPNoLt alpha p beta q
L1197
Axiom. (PNoLtE) We take the following as an axiom:
∀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
L1205
Axiom. (PNoLt_irref) We take the following as an axiom:
∀alpha, ∀p : setprop, ~ PNoLt alpha p alpha p
L1207
Axiom. (PNoLt_trichotomy_or) We take the following as an axiom:
∀alpha beta, ∀p q : setprop, ordinal alphaordinal betaPNoLt alpha p beta q \/ alpha = beta /\ PNoEq_ alpha p q \/ PNoLt beta q alpha p
L1211
Axiom. (PNoLtEq_tra) We take the following as an axiom:
∀alpha beta, ordinal alphaordinal beta∀p q r : setprop, PNoLt alpha p beta qPNoEq_ beta q rPNoLt alpha p beta r
L1213
Axiom. (PNoEqLt_tra) We take the following as an axiom:
∀alpha beta, ordinal alphaordinal beta∀p q r : setprop, PNoEq_ alpha p qPNoLt alpha q beta rPNoLt alpha p beta r
L1215
Axiom. (PNoLt_tra) We take the following as an axiom:
∀alpha beta gamma, ordinal alphaordinal betaordinal gamma∀p q r : setprop, PNoLt alpha p beta qPNoLt beta q gamma rPNoLt alpha p gamma r
L1217
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.
L1220
Axiom. (PNoLeI1) We take the following as an axiom:
∀alpha beta, ∀p q : setprop, PNoLt alpha p beta qPNoLe alpha p beta q
L1223
Axiom. (PNoLeI2) We take the following as an axiom:
∀alpha, ∀p q : setprop, PNoEq_ alpha p qPNoLe alpha p alpha q
L1226
Axiom. (PNoLe_ref) We take the following as an axiom:
∀alpha, ∀p : setprop, PNoLe alpha p alpha p
L1228
Axiom. (PNoLe_antisym) We take the following as an axiom:
∀alpha beta, ordinal alphaordinal beta∀p q : setprop, PNoLe alpha p beta qPNoLe beta q alpha palpha = beta /\ PNoEq_ alpha p q
L1232
Axiom. (PNoLtLe_tra) We take the following as an axiom:
∀alpha beta gamma, ordinal alphaordinal betaordinal gamma∀p q r : setprop, PNoLt alpha p beta qPNoLe beta q gamma rPNoLt alpha p gamma r
L1234
Axiom. (PNoLeLt_tra) We take the following as an axiom:
∀alpha beta gamma, ordinal alphaordinal betaordinal gamma∀p q r : setprop, PNoLe alpha p beta qPNoLt beta q gamma rPNoLt alpha p gamma r
L1236
Axiom. (PNoEqLe_tra) We take the following as an axiom:
∀alpha beta, ordinal alphaordinal beta∀p q r : setprop, PNoEq_ alpha p qPNoLe alpha q beta rPNoLe alpha p beta r
L1238
Axiom. (PNoLe_tra) We take the following as an axiom:
∀alpha beta gamma, ordinal alphaordinal betaordinal gamma∀p q r : setprop, PNoLe alpha p beta qPNoLe beta q gamma rPNoLe alpha p gamma r
L1240
Definition. We define PNo_downc to be λL alpha p ⇒ exists beta, ordinal beta /\ exists q : setprop, L beta q /\ PNoLe alpha p beta q of type (set(setprop)prop)set(setprop)prop.
L1243
Definition. We define PNo_upc to be λR alpha p ⇒ exists beta, ordinal beta /\ exists q : setprop, R beta q /\ PNoLe beta q alpha p of type (set(setprop)prop)set(setprop)prop.
L1246
Axiom. (PNoLe_downc) We take the following as an axiom:
∀L : set(setprop)prop, ∀alpha beta, ∀p q : setprop, ordinal alphaordinal betaPNo_downc L alpha pPNoLe beta q alpha pPNo_downc L beta q
L1250
Axiom. (PNo_downc_ref) We take the following as an axiom:
∀L : set(setprop)prop, ∀alpha, ordinal alpha∀p : setprop, L alpha pPNo_downc L alpha p
L1252
Axiom. (PNo_upc_ref) We take the following as an axiom:
∀R : set(setprop)prop, ∀alpha, ordinal alpha∀p : setprop, R alpha pPNo_upc R alpha p
L1254
Axiom. (PNoLe_upc) We take the following as an axiom:
∀R : set(setprop)prop, ∀alpha beta, ∀p q : setprop, ordinal alphaordinal betaPNo_upc R alpha pPNoLe alpha p beta qPNo_upc R beta q
L1258
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.
L1261
Axiom. (PNoLt_pwise_downc_upc) We take the following as an axiom:
∀L R : set(setprop)prop, PNoLt_pwise L RPNoLt_pwise (PNo_downc L) (PNo_upc R)
L1264
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.
L1268
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.
L1272
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.
L1275
Axiom. (PNoEq_rel_strict_upperbd) We take the following as an axiom:
∀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
L1278
Axiom. (PNo_rel_strict_upperbd_antimon) We take the following as an axiom:
∀L : set(setprop)prop, ∀alpha, ordinal alpha∀p : setprop, ∀betaalpha, PNo_rel_strict_upperbd L alpha pPNo_rel_strict_upperbd L beta p
L1281
Axiom. (PNoEq_rel_strict_lowerbd) We take the following as an axiom:
∀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
L1284
Axiom. (PNo_rel_strict_lowerbd_antimon) We take the following as an axiom:
∀R : set(setprop)prop, ∀alpha, ordinal alpha∀p : setprop, ∀betaalpha, PNo_rel_strict_lowerbd R alpha pPNo_rel_strict_lowerbd R beta p
L1287
Axiom. (PNoEq_rel_strict_imv) We take the following as an axiom:
∀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
L1290
Axiom. (PNo_rel_strict_imv_antimon) We take the following as an axiom:
∀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
L1293
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.
L1296
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.
L1301
Axiom. (PNo_extend0_eq) We take the following as an axiom:
∀alpha, ∀p : setprop, PNoEq_ alpha p (λdelta ⇒ p delta /\ delta <> alpha)
L1303
Axiom. (PNo_extend1_eq) We take the following as an axiom:
∀alpha, ∀p : setprop, PNoEq_ alpha p (λdelta ⇒ p delta \/ delta = alpha)
L1305
Axiom. (PNo_rel_imv_ex) We take the following as an axiom:
∀L R : set(setprop)prop, PNoLt_pwise L R∀alpha, ordinal alpha(exists p : setprop, PNo_rel_strict_uniq_imv L R alpha p) \/ (exists taualpha, exists p : setprop, PNo_rel_strict_split_imv L R tau p)
L1311
Definition. We define PNo_lenbdd to be λalpha L ⇒ ∀beta, ∀p : setprop, L beta pbeta alpha of type set(set(setprop)prop)prop.
L1314
Axiom. (PNo_lenbdd_strict_imv_extend0) We take the following as an axiom:
∀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)
L1319
Axiom. (PNo_lenbdd_strict_imv_extend1) We take the following as an axiom:
∀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)
L1324
Axiom. (PNo_lenbdd_strict_imv_split) We take the following as an axiom:
∀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
L1329
Axiom. (PNo_rel_imv_bdd_ex) We take the following as an axiom:
∀L R : set(setprop)prop, PNoLt_pwise L R∀alpha, ordinal alphaPNo_lenbdd alpha LPNo_lenbdd alpha Rexists betaordsucc alpha, exists p : setprop, PNo_rel_strict_split_imv L R beta p
L1337
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.
L1341
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.
L1345
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.
L1348
Axiom. (PNoEq_strict_upperbd) We take the following as an axiom:
∀L : set(setprop)prop, ∀alpha, ordinal alpha∀p q : setprop, PNoEq_ alpha p qPNo_strict_upperbd L alpha pPNo_strict_upperbd L alpha q
L1351
Axiom. (PNoEq_strict_lowerbd) We take the following as an axiom:
∀R : set(setprop)prop, ∀alpha, ordinal alpha∀p q : setprop, PNoEq_ alpha p qPNo_strict_lowerbd R alpha pPNo_strict_lowerbd R alpha q
L1354
Axiom. (PNoEq_strict_imv) We take the following as an axiom:
∀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
L1357
Axiom. (PNo_strict_upperbd_imp_rel_strict_upperbd) We take the following as an axiom:
∀L : set(setprop)prop, ∀alpha, ordinal alpha∀betaordsucc alpha, ∀p : setprop, PNo_strict_upperbd L alpha pPNo_rel_strict_upperbd L beta p
L1361
Axiom. (PNo_strict_lowerbd_imp_rel_strict_lowerbd) We take the following as an axiom:
∀R : set(setprop)prop, ∀alpha, ordinal alpha∀betaordsucc alpha, ∀p : setprop, PNo_strict_lowerbd R alpha pPNo_rel_strict_lowerbd R beta p
L1365
Axiom. (PNo_strict_imv_imp_rel_strict_imv) We take the following as an axiom:
∀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
L1369
Axiom. (PNo_rel_split_imv_imp_strict_imv) We take the following as an axiom:
∀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
L1374
Axiom. (PNo_lenbdd_strict_imv_ex) We take the following as an axiom:
∀L R : set(setprop)prop, PNoLt_pwise L R∀alpha, ordinal alphaPNo_lenbdd alpha LPNo_lenbdd alpha Rexists betaordsucc alpha, exists p : setprop, PNo_strict_imv L R beta p
L1382
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.
L1388
Definition. We define PNo_least_rep2 to be λL R beta p ⇒ PNo_least_rep L R beta p /\ ∀x, x /:e beta~ p x of type (set(setprop)prop)(set(setprop)prop)set(setprop)prop.
L1391
Axiom. (PNo_strict_imv_pred_eq) We take the following as an axiom:
∀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
L1398
Axiom. (PNo_lenbdd_least_rep2_exuniq2) We take the following as an axiom:
∀L R : set(setprop)prop, PNoLt_pwise L R∀alpha, ordinal alphaPNo_lenbdd alpha LPNo_lenbdd alpha Rexists beta, (exists 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)
Primitive. The name PNo_bd is a term of type (set(setprop)prop)(set(setprop)prop)set.
Primitive. The name PNo_pred is a term of type (set(setprop)prop)(set(setprop)prop)setprop.
L1413
Axiom. (PNo_bd_pred_lem) We take the following as an axiom:
∀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)
L1420
Axiom. (PNo_bd_pred) We take the following as an axiom:
∀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)
L1427
Axiom. (PNo_bd_In) We take the following as an axiom:
∀L R : set(setprop)prop, PNoLt_pwise L R∀alpha, ordinal alphaPNo_lenbdd alpha LPNo_lenbdd alpha RPNo_bd L R ordsucc alpha
Beginning of Section TaggedSets
L1437
Let tag : setsetλalpha ⇒ SetAdjoin alpha {1}
Notation. We use ' as a postfix operator with priority 100 corresponding to applying term tag.
L1440
Axiom. (not_TransSet_Sing1) We take the following as an axiom:
L1442
Axiom. (not_ordinal_Sing1) We take the following as an axiom:
L1444
Axiom. (tagged_not_ordinal) We take the following as an axiom:
∀y, ~ ordinal (y ')
L1446
Axiom. (tagged_notin_ordinal) We take the following as an axiom:
∀alpha y, ordinal alpha(y ') /:e alpha
L1448
Axiom. (tagged_eqE_Subq) We take the following as an axiom:
∀alpha beta, ordinal alphaalpha ' = beta 'alpha beta
L1450
Axiom. (tagged_eqE_eq) We take the following as an axiom:
∀alpha beta, ordinal alphaordinal betaalpha ' = beta 'alpha = beta
L1452
Axiom. (tagged_ReplE) We take the following as an axiom:
∀alpha beta, ordinal alphaordinal betabeta ' {gamma '|gammaalpha}beta alpha
L1454
Axiom. (ordinal_notin_tagged_Repl) We take the following as an axiom:
∀alpha Y, ordinal alphaalpha /:e {y '|yY}
L1456
Definition. We define SNoElts_ to be λalpha ⇒ alpha :\/: {beta '|betaalpha} of type setset.
L1458
Axiom. (SNoElts_mon) We take the following as an axiom:
∀alpha beta, alpha betaSNoElts_ alpha SNoElts_ beta
L1460
Definition. We define SNo_ to be λalpha x ⇒ x SNoElts_ alpha /\ ∀betaalpha, exactly1of2 (beta ' x) (beta x) of type setsetprop.
L1464
Definition. We define PSNo to be λalpha p ⇒ {betaalpha|p beta} :\/: {beta '|betaalpha, ~ p beta} of type set(setprop)set.
L1467
Axiom. (PNoEq_PSNo) We take the following as an axiom:
∀alpha, ordinal alpha∀p : setprop, PNoEq_ alpha (λbeta ⇒ beta PSNo alpha p) p
L1469
Axiom. (SNo_PSNo) We take the following as an axiom:
∀alpha, ordinal alpha∀p : setprop, SNo_ alpha (PSNo alpha p)
L1471
Axiom. (SNo_PSNo_eta_) We take the following as an axiom:
∀alpha x, ordinal alphaSNo_ alpha xx = PSNo alpha (λbeta ⇒ beta x)
Primitive. The name SNo is a term of type setprop.
L1476
Axiom. (SNo_SNo) We take the following as an axiom:
∀alpha, ordinal alpha∀z, SNo_ alpha zSNo z
Primitive. The name SNoLev is a term of type setset.
L1481
Axiom. (SNoLev_uniq_Subq) We take the following as an axiom:
∀x alpha beta, ordinal alphaordinal betaSNo_ alpha xSNo_ beta xalpha beta
L1483
Axiom. (SNoLev_uniq) We take the following as an axiom:
∀x alpha beta, ordinal alphaordinal betaSNo_ alpha xSNo_ beta xalpha = beta
L1485
Axiom. (SNoLev_prop) We take the following as an axiom:
∀x, SNo xordinal (SNoLev x) /\ SNo_ (SNoLev x) x
L1487
Axiom. (SNoLev_ordinal) We take the following as an axiom:
∀x, SNo xordinal (SNoLev x)
L1489
Axiom. (SNoLev_) We take the following as an axiom:
∀x, SNo xSNo_ (SNoLev x) x
L1491
Axiom. (SNo_PSNo_eta) We take the following as an axiom:
∀x, SNo xx = PSNo (SNoLev x) (λbeta ⇒ beta x)
L1493
Axiom. (SNoLev_PSNo) We take the following as an axiom:
∀alpha, ordinal alpha∀p : setprop, SNoLev (PSNo alpha p) = alpha
L1495
Axiom. (SNo_Subq) We take the following as an axiom:
∀x y, SNo xSNo ySNoLev x SNoLev y(∀alphaSNoLev x, alpha x <-> alpha y)x y
L1497
Definition. We define SNoEq_ to be λalpha x y ⇒ PNoEq_ alpha (λbeta ⇒ beta x) (λbeta ⇒ beta y) of type setsetsetprop.
L1500
Axiom. (SNoEq_I) We take the following as an axiom:
∀alpha x y, (∀betaalpha, beta x <-> beta y)SNoEq_ alpha x y
L1502
Axiom. (SNo_eq) We take the following as an axiom:
∀x y, SNo xSNo ySNoLev x = SNoLev ySNoEq_ (SNoLev x) x yx = y
End of Section TaggedSets
L1506
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.
L1511
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.
L1516
Axiom. (SNoLtLe) We take the following as an axiom:
∀x y, x < yx <= y
L1518
Axiom. (SNoLeE) We take the following as an axiom:
∀x y, SNo xSNo yx <= yx < y \/ x = y
L1520
Axiom. (SNoEq_sym_) We take the following as an axiom:
∀alpha x y, SNoEq_ alpha x ySNoEq_ alpha y x
L1522
Axiom. (SNoEq_tra_) We take the following as an axiom:
∀alpha x y z, SNoEq_ alpha x ySNoEq_ alpha y zSNoEq_ alpha x z
L1524
Axiom. (SNoLtE) We take the following as an axiom:
∀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 /:e xSNoLev z yp)(SNoLev x SNoLev ySNoEq_ (SNoLev x) x ySNoLev x yp)(SNoLev y SNoLev xSNoEq_ (SNoLev y) x ySNoLev y /:e xp)p
L1531
Axiom. (SNoLtI2) We take the following as an axiom:
∀x y, SNoLev x SNoLev ySNoEq_ (SNoLev x) x ySNoLev x yx < y
L1539
Axiom. (SNoLtI3) We take the following as an axiom:
∀x y, SNoLev y SNoLev xSNoEq_ (SNoLev y) x ySNoLev y /:e xx < y
L1545
Axiom. (SNoLt_irref) We take the following as an axiom:
∀x, ~ SNoLt x x
L1547
Axiom. (SNoLt_trichotomy_or) We take the following as an axiom:
∀x y, SNo xSNo yx < y \/ x = y \/ y < x
L1549
Axiom. (SNoLt_trichotomy_or_impred) We take the following as an axiom:
∀x y, SNo xSNo y∀p : prop, (x < yp)(x = yp)(y < xp)p
L1556
Axiom. (SNoLt_tra) We take the following as an axiom:
∀x y z, SNo xSNo ySNo zx < yy < zx < z
L1558
Axiom. (SNoLe_ref) We take the following as an axiom:
∀x, SNoLe x x
L1560
Axiom. (SNoLe_antisym) We take the following as an axiom:
∀x y, SNo xSNo yx <= yy <= xx = y
L1562
Axiom. (SNoLtLe_tra) We take the following as an axiom:
∀x y z, SNo xSNo ySNo zx < yy <= zx < z
L1564
Axiom. (SNoLeLt_tra) We take the following as an axiom:
∀x y z, SNo xSNo ySNo zx <= yy < zx < z
L1566
Axiom. (SNoLe_tra) We take the following as an axiom:
∀x y z, SNo xSNo ySNo zx <= yy <= zx <= z
L1568
Axiom. (SNoLtLe_or) We take the following as an axiom:
∀x y, SNo xSNo yx < y \/ y <= x
L1570
Axiom. (SNoLt_PSNo_PNoLt) We take the following as an axiom:
∀alpha beta, ∀p q : setprop, ordinal alphaordinal betaPSNo alpha p < PSNo beta qPNoLt alpha p beta q
L1574
Axiom. (PNoLt_SNoLt_PSNo) We take the following as an axiom:
∀alpha beta, ∀p q : setprop, ordinal alphaordinal betaPNoLt alpha p beta qPSNo alpha p < PSNo beta q
L1578
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.
L1581
Definition. We define SNoCutP to be λL R ⇒ (∀xL, SNo x) /\ (∀yR, SNo y) /\ (∀xL, ∀yR, x < y) of type setsetprop.
L1587
Axiom. (SNoCutP_SNoCut) We take the following as an axiom:
∀L R, SNoCutP L RSNo (SNoCut L R) /\ SNoLev (SNoCut L R) ordsucc ((\/_ xL, ordsucc (SNoLev x)) :\/: (\/_ yR, ordsucc (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)
L1594
Axiom. (SNoCutP_SNoCut_impred) We take the following as an axiom:
∀L R, SNoCutP L R∀p : prop, (SNo (SNoCut L R)SNoLev (SNoCut L R) ordsucc ((\/_ xL, ordsucc (SNoLev x)) :\/: (\/_ yR, ordsucc (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
L1604
Axiom. (SNoCutP_L_0) We take the following as an axiom:
∀L, (∀xL, SNo x)SNoCutP L 0
L1606
Axiom. (SNoCutP_0_R) We take the following as an axiom:
∀R, (∀xR, SNo x)SNoCutP 0 R
L1608
Axiom. (SNoCutP_0_0) We take the following as an axiom:
L1610
Definition. We define SNoS_ to be λalpha ⇒ {xPower (SNoElts_ alpha)|exists betaalpha, SNo_ beta x} of type setset.
L1612
Axiom. (SNoS_E) We take the following as an axiom:
∀alpha, ordinal alpha∀xSNoS_ alpha, exists betaalpha, SNo_ beta x
Beginning of Section TaggedSets2
L1616
Let tag : setsetλalpha ⇒ SetAdjoin alpha {1}
Notation. We use ' as a postfix operator with priority 100 corresponding to applying term tag.
L1619
Axiom. (SNoS_I) We take the following as an axiom:
∀alpha, ordinal alpha∀x, ∀betaalpha, SNo_ beta xx SNoS_ alpha
L1621
Axiom. (SNoS_I2) We take the following as an axiom:
∀x y, SNo xSNo ySNoLev x SNoLev yx SNoS_ (SNoLev y)
L1623
Axiom. (SNoS_Subq) We take the following as an axiom:
∀alpha beta, ordinal alphaordinal betaalpha betaSNoS_ alpha SNoS_ beta
L1625
Axiom. (SNoLev_uniq2) We take the following as an axiom:
∀alpha, ordinal alpha∀x, SNo_ alpha xSNoLev x = alpha
L1627
Axiom. (SNoS_E2) We take the following as an axiom:
∀alpha, ordinal alpha∀xSNoS_ alpha, ∀p : prop, (SNoLev x alphaordinal (SNoLev x)SNo xSNo_ (SNoLev x) xp)p
L1632
Axiom. (SNoS_In_neq) We take the following as an axiom:
∀w, SNo w∀xSNoS_ (SNoLev w), x <> w
L1634
Axiom. (SNoS_SNoLev) We take the following as an axiom:
∀z, SNo zz SNoS_ (ordsucc (SNoLev z))
L1636
Definition. We define SNoL to be λz ⇒ {xSNoS_ (SNoLev z)|x < z} of type setset.
L1638
Definition. We define SNoR to be λz ⇒ {ySNoS_ (SNoLev z)|z < y} of type setset.
L1639
Axiom. (SNoCutP_SNoL_SNoR) We take the following as an axiom:
∀z, SNo zSNoCutP (SNoL z) (SNoR z)
L1641
Axiom. (SNoL_E) We take the following as an axiom:
∀x, SNo x∀wSNoL x, ∀p : prop, (SNo wSNoLev w SNoLev xw < xp)p
L1646
Axiom. (SNoR_E) We take the following as an axiom:
∀x, SNo x∀zSNoR x, ∀p : prop, (SNo zSNoLev z SNoLev xx < zp)p
L1651
Axiom. (SNoL_SNoS_) We take the following as an axiom:
∀z, SNoL z SNoS_ (SNoLev z)
L1653
Axiom. (SNoR_SNoS_) We take the following as an axiom:
∀z, SNoR z SNoS_ (SNoLev z)
L1655
Axiom. (SNoL_SNoS) We take the following as an axiom:
∀x, SNo x∀wSNoL x, w SNoS_ (SNoLev x)
L1657
Axiom. (SNoR_SNoS) We take the following as an axiom:
∀x, SNo x∀zSNoR x, z SNoS_ (SNoLev x)
L1659
Axiom. (SNoL_I) We take the following as an axiom:
∀z, SNo z∀x, SNo xSNoLev x SNoLev zx < zx SNoL z
L1661
Axiom. (SNoR_I) We take the following as an axiom:
∀z, SNo z∀y, SNo ySNoLev y SNoLev zz < yy SNoR z
L1663
Axiom. (SNo_eta) We take the following as an axiom:
∀z, SNo zz = SNoCut (SNoL z) (SNoR z)
L1665
Axiom. (SNoCutP_SNo_SNoCut) We take the following as an axiom:
∀L R, SNoCutP L RSNo (SNoCut L R)
L1667
Axiom. (SNoCutP_SNoCut_L) We take the following as an axiom:
∀L R, SNoCutP L R∀xL, x < SNoCut L R
L1669
Axiom. (SNoCutP_SNoCut_R) We take the following as an axiom:
∀L R, SNoCutP L R∀yR, SNoCut L R < y
L1671
Axiom. (SNoCutP_SNoCut_fst) We take the following as an axiom:
∀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
L1678
Axiom. (SNoCut_Le) We take the following as an axiom:
∀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
L1683
Axiom. (SNoCut_ext) We take the following as an axiom:
∀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
L1690
Axiom. (SNoLt_SNoL_or_SNoR_impred) We take the following as an axiom:
∀x y, SNo xSNo yx < y∀p : prop, (∀zSNoL y, z SNoR xp)(x SNoL yp)(y SNoR xp)p
L1697
Axiom. (SNoL_or_SNoR_impred) We take the following as an axiom:
∀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
L1708
Axiom. (SNoL_SNoCutP_ex) We take the following as an axiom:
∀L R, SNoCutP L R∀wSNoL (SNoCut L R), exists w'L, w <= w'
L1710
Axiom. (SNoR_SNoCutP_ex) We take the following as an axiom:
∀L R, SNoCutP L R∀zSNoR (SNoCut L R), exists z'R, z' <= z
L1712
Axiom. (ordinal_SNo_) We take the following as an axiom:
∀alpha, ordinal alphaSNo_ alpha alpha
L1714
Axiom. (ordinal_SNo) We take the following as an axiom:
∀alpha, ordinal alphaSNo alpha
L1716
Axiom. (ordinal_SNoLev) We take the following as an axiom:
∀alpha, ordinal alphaSNoLev alpha = alpha
L1718
Axiom. (ordinal_SNoLev_max) We take the following as an axiom:
∀alpha, ordinal alpha∀z, SNo zSNoLev z alphaz < alpha
L1720
Axiom. (ordinal_SNoL) We take the following as an axiom:
∀alpha, ordinal alphaSNoL alpha = SNoS_ alpha
L1722
Axiom. (ordinal_SNoR) We take the following as an axiom:
∀alpha, ordinal alphaSNoR alpha = Empty
L1724
Axiom. (nat_p_SNo) We take the following as an axiom:
∀n, nat_p nSNo n
L1726
Axiom. (omega_SNo) We take the following as an axiom:
L1728
Axiom. (omega_SNoS_omega) We take the following as an axiom:
L1730
Axiom. (ordinal_In_SNoLt) We take the following as an axiom:
∀alpha, ordinal alpha∀betaalpha, beta < alpha
L1732
Axiom. (ordinal_SNoLev_max_2) We take the following as an axiom:
∀alpha, ordinal alpha∀z, SNo zSNoLev z ordsucc alphaz <= alpha
L1734
Axiom. (ordinal_Subq_SNoLe) We take the following as an axiom:
∀alpha beta, ordinal alphaordinal betaalpha betaalpha <= beta
L1736
Axiom. (ordinal_SNoLt_In) We take the following as an axiom:
∀alpha beta, ordinal alphaordinal betaalpha < betaalpha beta
L1738
Axiom. (omega_nonneg) We take the following as an axiom:
∀momega, 0 <= m
L1740
Axiom. (SNo_0) We take the following as an axiom:
L1742
Axiom. (SNo_1) We take the following as an axiom:
L1744
Axiom. (SNo_2) We take the following as an axiom:
L1746
Axiom. (SNoLev_0) We take the following as an axiom:
L1748
Axiom. (SNoCut_0_0) We take the following as an axiom:
L1750
Axiom. (SNoL_0) We take the following as an axiom:
L1752
Axiom. (SNoR_0) We take the following as an axiom:
L1754
Axiom. (SNoL_1) We take the following as an axiom:
L1756
Axiom. (SNoR_1) We take the following as an axiom:
L1758
Axiom. (SNo_max_SNoLev) We take the following as an axiom:
∀x, SNo x(∀ySNoS_ (SNoLev x), y < x)SNoLev x = x
L1760
Axiom. (SNo_max_ordinal) We take the following as an axiom:
∀x, SNo x(∀ySNoS_ (SNoLev x), y < x)ordinal x
L1762
Axiom. (pos_low_eq_one) We take the following as an axiom:
∀x, SNo x0 < xSNoLev x 1x = 1
L1764
Definition. We define SNo_extend0 to be λx ⇒ PSNo (ordsucc (SNoLev x)) (λdelta ⇒ delta x /\ delta <> SNoLev x) of type setset.
L1766
Definition. We define SNo_extend1 to be λx ⇒ PSNo (ordsucc (SNoLev x)) (λdelta ⇒ delta x \/ delta = SNoLev x) of type setset.
L1768
Axiom. (SNo_extend0_SNo_) We take the following as an axiom:
∀x, SNo xSNo_ (ordsucc (SNoLev x)) (SNo_extend0 x)
L1770
Axiom. (SNo_extend1_SNo_) We take the following as an axiom:
∀x, SNo xSNo_ (ordsucc (SNoLev x)) (SNo_extend1 x)
L1772
Axiom. (SNo_extend0_SNo) We take the following as an axiom:
∀x, SNo xSNo (SNo_extend0 x)
L1774
Axiom. (SNo_extend1_SNo) We take the following as an axiom:
∀x, SNo xSNo (SNo_extend1 x)
L1776
Axiom. (SNo_extend0_SNoLev) We take the following as an axiom:
∀x, SNo xSNoLev (SNo_extend0 x) = ordsucc (SNoLev x)
L1778
Axiom. (SNo_extend1_SNoLev) We take the following as an axiom:
∀x, SNo xSNoLev (SNo_extend1 x) = ordsucc (SNoLev x)
L1780
Axiom. (SNo_extend0_nIn) We take the following as an axiom:
∀x, SNo xSNoLev x /:e SNo_extend0 x
L1782
Axiom. (SNo_extend1_In) We take the following as an axiom:
∀x, SNo xSNoLev x SNo_extend1 x
L1784
Axiom. (SNo_extend0_SNoEq) We take the following as an axiom:
∀x, SNo xSNoEq_ (SNoLev x) (SNo_extend0 x) x
L1786
Axiom. (SNo_extend1_SNoEq) We take the following as an axiom:
∀x, SNo xSNoEq_ (SNoLev x) (SNo_extend1 x) x
L1788
Axiom. (SNoLev_0_eq_0) We take the following as an axiom:
∀x, SNo xSNoLev x = 0x = 0
L1790
Axiom. (SNo_0_eq_0) We take the following as an axiom:
∀q, SNo_ 0 qq = 0
L1792
Definition. We define eps_ to be λn ⇒ {0} :\/: {(ordsucc m) '|mn} of type setset.
L1795
Axiom. (eps_ordinal_In_eq_0) We take the following as an axiom:
∀n alpha, ordinal alphaalpha eps_ nalpha = 0
L1797
Axiom. (eps_0_1) We take the following as an axiom:
L1799
Axiom. (SNo__eps_) We take the following as an axiom:
L1801
Axiom. (SNo_eps_) We take the following as an axiom:
L1803
Axiom. (SNo_eps_1) We take the following as an axiom:
L1805
Axiom. (SNoLev_eps_) We take the following as an axiom:
L1807
Axiom. (SNo_eps_SNoS_omega) We take the following as an axiom:
L1809
Axiom. (SNo_eps_decr) We take the following as an axiom:
∀nomega, ∀mn, eps_ n < eps_ m
L1811
Axiom. (SNo_eps_pos) We take the following as an axiom:
L1813
Axiom. (SNo_pos_eps_Lt) We take the following as an axiom:
∀n, nat_p n∀xSNoS_ (ordsucc n), 0 < xeps_ n < x
L1815
Axiom. (SNo_pos_eps_Le) We take the following as an axiom:
∀n, nat_p n∀xSNoS_ (ordsucc (ordsucc n)), 0 < xeps_ n <= x
L1817
Axiom. (eps_SNo_eq) We take the following as an axiom:
∀n, nat_p n∀xSNoS_ (ordsucc n), 0 < xSNoEq_ (SNoLev x) (eps_ n) xexists mn, x = eps_ m
L1819
Axiom. (eps_SNoCutP) We take the following as an axiom:
L1821
Axiom. (eps_SNoCut) We take the following as an axiom:
End of Section TaggedSets2
L1825
Axiom. (SNo_etaE) We take the following as an axiom:
∀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
L1834
Axiom. (SNo_ind) We take the following as an axiom:
∀P : setprop, (∀L R, SNoCutP L R(∀xL, P x)(∀yR, P y)P (SNoCut L R))∀z, SNo zP z
Beginning of Section SurrealRecI
L1845
Variable F : set(setset)set
L1847
Let default : setEps_i (λ_ ⇒ True)
L1849
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)
Primitive. The name SNo_rec_i is a term of type setset.
L1861
Hypothesis Fr : ∀z, SNo z∀g h : setset, (∀wSNoS_ (SNoLev z), g w = h w)F z g = F z h
L1865
Axiom. (SNo_rec_i_eq) We take the following as an axiom:
∀z, SNo zSNo_rec_i z = F z SNo_rec_i
End of Section SurrealRecI
Beginning of Section SurrealRecII
L1871
Variable F : set(set(setset))(setset)
L1873
Let default : (setset)Descr_ii (λ_ ⇒ True)
L1874
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)
Primitive. The name SNo_rec_ii is a term of type set(setset).
L1885
Hypothesis Fr : ∀z, SNo z∀g h : set(setset), (∀wSNoS_ (SNoLev z), g w = h w)F z g = F z h
L1889
Axiom. (SNo_rec_ii_eq) We take the following as an axiom:
∀z, SNo zSNo_rec_ii z = F z SNo_rec_ii
End of Section SurrealRecII
Beginning of Section SurrealRec2
L1895
Variable F : setset(setsetset)set
L1897
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)
L1900
Let H : set(setsetset)setsetλw f z ⇒ if SNo z then SNo_rec_i (G w f) z else Empty
Primitive. The name SNo_rec2 is a term of type setsetset.
L1906
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
L1912
Axiom. (SNo_rec2_G_prop) We take the following as an axiom:
∀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
L1918
Axiom. (SNo_rec2_eq_1) We take the following as an axiom:
∀w, SNo w∀f : setsetset, ∀z, SNo zSNo_rec_i (G w f) z = G w f z (SNo_rec_i (G w f))
L1922
Axiom. (SNo_rec2_eq) We take the following as an axiom:
∀w, SNo w∀z, SNo zSNo_rec2 w z = F w z SNo_rec2
End of Section SurrealRec2
L1927
Axiom. (SNo_ordinal_ind) We take the following as an axiom:
∀P : setprop, (∀alpha, ordinal alpha∀xSNoS_ alpha, P x)(∀x, SNo xP x)
L1932
Axiom. (SNo_ordinal_ind2) We take the following as an axiom:
∀P : setsetprop, (∀alpha, ordinal alpha∀beta, ordinal beta∀xSNoS_ alpha, ∀ySNoS_ beta, P x y)(∀x y, SNo xSNo yP x y)
L1939
Axiom. (SNo_ordinal_ind3) We take the following as an axiom:
∀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)
L1947
Axiom. (SNoLev_ind) We take the following as an axiom:
∀P : setprop, (∀x, SNo x(∀wSNoS_ (SNoLev x), P w)P x)(∀x, SNo xP x)
L1952
Axiom. (SNoLev_ind2) We take the following as an axiom:
∀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
L1960
Axiom. (SNoLev_ind3) We take the following as an axiom:
∀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
L1972
Axiom. (SNo_omega) We take the following as an axiom:
L1974
Axiom. (SNoLt_0_1) We take the following as an axiom:
0 < 1
L1976
Axiom. (SNoLt_0_2) We take the following as an axiom:
0 < 2
L1978
Axiom. (SNoLt_1_2) We take the following as an axiom:
1 < 2
L1980
Axiom. (restr_SNo_) We take the following as an axiom:
∀x, SNo x∀alphaSNoLev x, SNo_ alpha (x :/\: SNoElts_ alpha)
L1982
Axiom. (restr_SNo) We take the following as an axiom:
∀x, SNo x∀alphaSNoLev x, SNo (x :/\: SNoElts_ alpha)
L1984
Axiom. (restr_SNoLev) We take the following as an axiom:
∀x, SNo x∀alphaSNoLev x, SNoLev (x :/\: SNoElts_ alpha) = alpha
L1986
Axiom. (restr_SNoEq) We take the following as an axiom:
∀x, SNo x∀alphaSNoLev x, SNoEq_ alpha (x :/\: SNoElts_ alpha) x
L1988
Axiom. (SNo_extend0_restr_eq) We take the following as an axiom:
∀x, SNo xx = SNo_extend0 x :/\: SNoElts_ (SNoLev x)
L1990
Axiom. (SNo_extend1_restr_eq) We take the following as an axiom:
∀x, SNo xx = SNo_extend1 x :/\: SNoElts_ (SNoLev x)
Beginning of Section SurrealMinus
Primitive. The name minus_SNo is a term 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.
L2003
Axiom. (minus_SNo_eq) We take the following as an axiom:
∀x, SNo x- x = SNoCut {- z|zSNoR x} {- w|wSNoL x}
L2005
Axiom. (minus_SNo_prop1) We take the following as an axiom:
∀x, SNo xSNo (- x) /\ (∀uSNoL x, - x < - u) /\ (∀uSNoR x, - u < - x) /\ SNoCutP {- z|zSNoR x} {- w|wSNoL x}
L2007
Axiom. (SNo_minus_SNo) We take the following as an axiom:
∀x, SNo xSNo (- x)
L2009
Axiom. (minus_SNo_Lt_contra) We take the following as an axiom:
∀x y, SNo xSNo yx < y- y < - x
L2011
Axiom. (minus_SNo_Le_contra) We take the following as an axiom:
∀x y, SNo xSNo yx <= y- y <= - x
L2013
Axiom. (minus_SNo_SNoCutP) We take the following as an axiom:
∀x, SNo xSNoCutP {- z|zSNoR x} {- w|wSNoL x}
L2015
Axiom. (minus_SNo_SNoCutP_gen) We take the following as an axiom:
∀L R, SNoCutP L RSNoCutP {- z|zR} {- w|wL}
L2017
Axiom. (minus_SNo_Lev_lem1) We take the following as an axiom:
∀alpha, ordinal alpha∀xSNoS_ alpha, SNoLev (- x) SNoLev x
L2019
Axiom. (minus_SNo_Lev_lem2) We take the following as an axiom:
∀x, SNo xSNoLev (- x) SNoLev x
L2021
Axiom. (minus_SNo_invol) We take the following as an axiom:
∀x, SNo x- - x = x
L2023
Axiom. (minus_SNo_Lev) We take the following as an axiom:
∀x, SNo xSNoLev (- x) = SNoLev x
L2025
Axiom. (minus_SNo_SNo_) We take the following as an axiom:
∀alpha, ordinal alpha∀x, SNo_ alpha xSNo_ alpha (- x)
L2027
Axiom. (minus_SNo_SNoS_) We take the following as an axiom:
∀alpha, ordinal alpha∀x, x SNoS_ alpha- x SNoS_ alpha
L2029
Axiom. (minus_SNoCut_eq_lem) We take the following as an axiom:
∀v, SNo v∀L R, SNoCutP L Rv = SNoCut L R- v = SNoCut {- z|zR} {- w|wL}
L2031
Axiom. (minus_SNoCut_eq) We take the following as an axiom:
∀L R, SNoCutP L R- SNoCut L R = SNoCut {- z|zR} {- w|wL}
L2033
Axiom. (minus_SNo_Lt_contra1) We take the following as an axiom:
∀x y, SNo xSNo y- x < y- y < x
L2035
Axiom. (minus_SNo_Lt_contra2) We take the following as an axiom:
∀x y, SNo xSNo yx < - yy < - x
L2037
Axiom. (mordinal_SNoLev_min_2) We take the following as an axiom:
∀alpha, ordinal alpha∀z, SNo zSNoLev z ordsucc alpha- alpha <= z
L2039
Axiom. (minus_SNo_SNoS_omega) We take the following as an axiom:
L2041
Axiom. (SNoL_minus_SNoR) We take the following as an axiom:
∀x, SNo xSNoL (- x) = {- w|wSNoR x}
End of Section SurrealMinus
Beginning of Section SurrealAdd
Notation. We use - as a prefix operator with priority 358 corresponding to applying term minus_SNo.
Primitive. The name add_SNo is a term 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.
L2055
Axiom. (add_SNo_eq) We take the following as an axiom:
∀x, SNo x∀y, SNo yx + y = SNoCut ({w + y|wSNoL x} :\/: {x + w|wSNoL y}) ({z + y|zSNoR x} :\/: {x + z|zSNoR y})
L2058
Axiom. (add_SNo_prop1) We take the following as an axiom:
∀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})
L2066
Axiom. (SNo_add_SNo) We take the following as an axiom:
∀x y, SNo xSNo ySNo (x + y)
L2068
Axiom. (SNo_add_SNo_3) We take the following as an axiom:
∀x y z, SNo xSNo ySNo zSNo (x + y + z)
L2070
Axiom. (SNo_add_SNo_3c) We take the following as an axiom:
∀x y z, SNo xSNo ySNo zSNo (x + y + - z)
L2072
Axiom. (SNo_add_SNo_4) We take the following as an axiom:
∀x y z w, SNo xSNo ySNo zSNo wSNo (x + y + z + w)
L2074
Axiom. (add_SNo_Lt1) We take the following as an axiom:
∀x y z, SNo xSNo ySNo zx < zx + y < z + y
L2076
Axiom. (add_SNo_Le1) We take the following as an axiom:
∀x y z, SNo xSNo ySNo zx <= zx + y <= z + y
L2078
Axiom. (add_SNo_Lt2) We take the following as an axiom:
∀x y z, SNo xSNo ySNo zy < zx + y < x + z
L2080
Axiom. (add_SNo_Le2) We take the following as an axiom:
∀x y z, SNo xSNo ySNo zy <= zx + y <= x + z
L2082
Axiom. (add_SNo_Lt3a) We take the following as an axiom:
∀x y z w, SNo xSNo ySNo zSNo wx < zy <= wx + y < z + w
L2084
Axiom. (add_SNo_Lt3b) We take the following as an axiom:
∀x y z w, SNo xSNo ySNo zSNo wx <= zy < wx + y < z + w
L2086
Axiom. (add_SNo_Lt3) We take the following as an axiom:
∀x y z w, SNo xSNo ySNo zSNo wx < zy < wx + y < z + w
L2088
Axiom. (add_SNo_Le3) We take the following as an axiom:
∀x y z w, SNo xSNo ySNo zSNo wx <= zy <= wx + y <= z + w
L2090
Axiom. (add_SNo_SNoCutP) We take the following as an axiom:
∀x y, SNo xSNo ySNoCutP ({w + y|wSNoL x} :\/: {x + w|wSNoL y}) ({z + y|zSNoR x} :\/: {x + z|zSNoR y})
L2092
Axiom. (add_SNo_com) We take the following as an axiom:
∀x y, SNo xSNo yx + y = y + x
L2094
Axiom. (add_SNo_0L) We take the following as an axiom:
∀x, SNo x0 + x = x
L2096
Axiom. (add_SNo_0R) We take the following as an axiom:
∀x, SNo xx + 0 = x
L2098
Axiom. (add_SNo_minus_SNo_linv) We take the following as an axiom:
∀x, SNo x- x + x = 0
L2100
Axiom. (add_SNo_minus_SNo_rinv) We take the following as an axiom:
∀x, SNo xx + - x = 0
L2102
Axiom. (add_SNo_ordinal_SNoCutP) We take the following as an axiom:
∀alpha, ordinal alpha∀beta, ordinal betaSNoCutP ({x + beta|xSNoS_ alpha} :\/: {alpha + x|xSNoS_ beta}) Empty
L2104
Axiom. (add_SNo_ordinal_eq) We take the following as an axiom:
∀alpha, ordinal alpha∀beta, ordinal betaalpha + beta = SNoCut ({x + beta|xSNoS_ alpha} :\/: {alpha + x|xSNoS_ beta}) Empty
L2106
Axiom. (add_SNo_ordinal_ordinal) We take the following as an axiom:
∀alpha, ordinal alpha∀beta, ordinal betaordinal (alpha + beta)
L2108
Axiom. (add_SNo_ordinal_SL) We take the following as an axiom:
∀alpha, ordinal alpha∀beta, ordinal betaordsucc alpha + beta = ordsucc (alpha + beta)
L2110
Axiom. (add_SNo_ordinal_SR) We take the following as an axiom:
∀alpha, ordinal alpha∀beta, ordinal betaalpha + ordsucc beta = ordsucc (alpha + beta)
L2112
Axiom. (add_SNo_ordinal_InL) We take the following as an axiom:
∀alpha, ordinal alpha∀beta, ordinal beta∀gammaalpha, gamma + beta alpha + beta
L2114
Axiom. (add_SNo_ordinal_InR) We take the following as an axiom:
∀alpha, ordinal alpha∀beta, ordinal beta∀gammabeta, alpha + gamma alpha + beta
L2116
Axiom. (add_nat_add_SNo) We take the following as an axiom:
∀n momega, add_nat n m = n + m
L2118
Axiom. (add_SNo_In_omega) We take the following as an axiom:
∀n momega, n + m omega
L2120
Axiom. (add_SNo_1_1_2) We take the following as an axiom:
1 + 1 = 2
L2122
Axiom. (add_SNo_SNoL_interpolate) We take the following as an axiom:
∀x y, SNo xSNo y∀uSNoL (x + y), (exists vSNoL x, u <= v + y) \/ (exists vSNoL y, u <= x + v)
L2124
Axiom. (add_SNo_SNoR_interpolate) We take the following as an axiom:
∀x y, SNo xSNo y∀uSNoR (x + y), (exists vSNoR x, v + y <= u) \/ (exists vSNoR y, x + v <= u)
L2126
Axiom. (add_SNo_assoc) We take the following as an axiom:
∀x y z, SNo xSNo ySNo zx + (y + z) = (x + y) + z
L2128
Axiom. (add_SNo_cancel_L) We take the following as an axiom:
∀x y z, SNo xSNo ySNo zx + y = x + zy = z
L2130
Axiom. (minus_SNo_0) We take the following as an axiom:
- 0 = 0
L2132
Axiom. (minus_add_SNo_distr) We take the following as an axiom:
∀x y, SNo xSNo y- (x + y) = (- x) + (- y)
L2134
Axiom. (minus_add_SNo_distr_3) We take the following as an axiom:
∀x y z, SNo xSNo ySNo z- (x + y + z) = - x + - y + - z
L2136
Axiom. (add_SNo_Lev_bd) We take the following as an axiom:
∀x y, SNo xSNo ySNoLev (x + y) SNoLev x + SNoLev y
L2138
Axiom. (add_SNo_SNoS_omega) We take the following as an axiom:
L2140
Axiom. (add_SNo_minus_R2) We take the following as an axiom:
∀x y, SNo xSNo y(x + y) + - y = x
L2142
Axiom. (add_SNo_minus_R2') We take the following as an axiom:
∀x y, SNo xSNo y(x + - y) + y = x
L2144
Axiom. (add_SNo_minus_L2) We take the following as an axiom:
∀x y, SNo xSNo y- x + (x + y) = y
L2146
Axiom. (add_SNo_minus_L2') We take the following as an axiom:
∀x y, SNo xSNo yx + (- x + y) = y
L2148
Axiom. (add_SNo_Lt1_cancel) We take the following as an axiom:
∀x y z, SNo xSNo ySNo zx + y < z + yx < z
L2150
Axiom. (add_SNo_Lt2_cancel) We take the following as an axiom:
∀x y z, SNo xSNo ySNo zx + y < x + zy < z
L2152
Axiom. (add_SNo_assoc_4) We take the following as an axiom:
∀x y z w, SNo xSNo ySNo zSNo wx + y + z + w = (x + y + z) + w
L2155
Axiom. (add_SNo_com_3_0_1) We take the following as an axiom:
∀x y z, SNo xSNo ySNo zx + y + z = y + x + z
L2158
Axiom. (add_SNo_com_3b_1_2) We take the following as an axiom:
∀x y z, SNo xSNo ySNo z(x + y) + z = (x + z) + y
L2161
Axiom. (add_SNo_com_4_inner_mid) We take the following as an axiom:
∀x y z w, SNo xSNo ySNo zSNo w(x + y) + (z + w) = (x + z) + (y + w)
L2164
Axiom. (add_SNo_rotate_3_1) We take the following as an axiom:
∀x y z, SNo xSNo ySNo zx + y + z = z + x + y
L2167
Axiom. (add_SNo_rotate_4_1) We take the following as an axiom:
∀x y z w, SNo xSNo ySNo zSNo wx + y + z + w = w + x + y + z
L2170
Axiom. (add_SNo_rotate_5_1) We take the following as an axiom:
∀x y z w v, SNo xSNo ySNo zSNo wSNo vx + y + z + w + v = v + x + y + z + w
L2173
Axiom. (add_SNo_rotate_5_2) We take the following as an axiom:
∀x y z w v, SNo xSNo ySNo zSNo wSNo vx + y + z + w + v = w + v + x + y + z
L2176
Axiom. (add_SNo_minus_SNo_prop2) We take the following as an axiom:
∀x y, SNo xSNo yx + - x + y = y
L2178
Axiom. (add_SNo_minus_SNo_prop3) We take the following as an axiom:
∀x y z w, SNo xSNo ySNo zSNo w(x + y + z) + (- z + w) = x + y + w
L2180
Axiom. (add_SNo_minus_SNo_prop4) We take the following as an axiom:
∀x y z w, SNo xSNo ySNo zSNo w(x + y + z) + (w + - z) = x + y + w
L2182
Axiom. (add_SNo_minus_SNo_prop5) We take the following as an axiom:
∀x y z w, SNo xSNo ySNo zSNo w(x + y + - z) + (z + w) = x + y + w
L2184
Axiom. (add_SNo_minus_Lt1) We take the following as an axiom:
∀x y z, SNo xSNo ySNo zx + - y < zx < z + y
L2186
Axiom. (add_SNo_minus_Lt2) We take the following as an axiom:
∀x y z, SNo xSNo ySNo zz < x + - yz + y < x
L2188
Axiom. (add_SNo_minus_Lt1b) We take the following as an axiom:
∀x y z, SNo xSNo ySNo zx < z + yx + - y < z
L2190
Axiom. (add_SNo_minus_Lt2b) We take the following as an axiom:
∀x y z, SNo xSNo ySNo zz + y < xz < x + - y
L2192
Axiom. (add_SNo_minus_Lt1b3) We take the following as an axiom:
∀x y z w, SNo xSNo ySNo zSNo wx + y < w + zx + y + - z < w
L2194
Axiom. (add_SNo_minus_Lt2b3) We take the following as an axiom:
∀x y z w, SNo xSNo ySNo zSNo ww + z < x + yw < x + y + - z
L2196
Axiom. (add_SNo_minus_Lt_lem) We take the following as an axiom:
∀x y z u v w, SNo xSNo ySNo zSNo uSNo vSNo wx + y + w < u + v + zx + y + - z < u + v + - w
L2200
Axiom. (add_SNo_minus_Le2) We take the following as an axiom:
∀x y z, SNo xSNo ySNo zz <= x + - yz + y <= x
L2202
Axiom. (add_SNo_minus_Le2b) We take the following as an axiom:
∀x y z, SNo xSNo ySNo zz + y <= xz <= x + - y
L2204
Axiom. (add_SNo_Lt_subprop2) We take the following as an axiom:
∀x y z w u v, SNo xSNo ySNo zSNo wSNo uSNo vx + u < z + vy + v < w + ux + y < z + w
L2209
Axiom. (add_SNo_Lt_subprop3a) We take the following as an axiom:
∀x y z w u a, SNo xSNo ySNo zSNo wSNo uSNo ax + z < w + ay + a < ux + y + z < w + u
L2214
Axiom. (add_SNo_Lt_subprop3b) We take the following as an axiom:
∀x y w u v a, SNo xSNo ySNo wSNo uSNo vSNo ax + a < w + vy < a + ux + y < w + u + v
L2219
Axiom. (add_SNo_Lt_subprop3c) We take the following as an axiom:
∀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
L2225
Axiom. (add_SNo_Lt_subprop3d) We take the following as an axiom:
∀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
L2231
Axiom. (ordinal_ordsucc_SNo_eq) We take the following as an axiom:
∀alpha, ordinal alphaordsucc alpha = 1 + alpha
L2233
Axiom. (add_SNo_3a_2b) We take the following as an axiom:
∀x y z w u, SNo xSNo ySNo zSNo wSNo u(x + y + z) + (w + u) = (u + y + z) + (w + x)
L2236
Axiom. (add_SNo_1_ordsucc) We take the following as an axiom:
L2238
Axiom. (add_SNo_eps_Lt) We take the following as an axiom:
∀x, SNo x∀nomega, x < x + eps_ n
L2240
Axiom. (add_SNo_eps_Lt') We take the following as an axiom:
∀x y, SNo xSNo y∀nomega, x < yx < y + eps_ n
L2242
Axiom. (SNoLt_minus_pos) We take the following as an axiom:
∀x y, SNo xSNo yx < y0 < y + - x
L2244
Axiom. (add_SNo_omega_In_cases) We take the following as an axiom:
∀m, ∀nomega, ∀k, nat_p km n + km n \/ m + - n k
L2246
Axiom. (add_SNo_Lt4) We take the following as an axiom:
∀x y z w u v, SNo xSNo ySNo zSNo wSNo uSNo vx < wy < uz < vx + y + z < w + u + v
L2248
Axiom. (add_SNo_3_3_3_Lt1) We take the following as an axiom:
∀x y z w u, SNo xSNo ySNo zSNo wSNo ux + y < z + wx + y + u < z + w + u
L2251
Axiom. (add_SNo_3_2_3_Lt1) We take the following as an axiom:
∀x y z w u, SNo xSNo ySNo zSNo wSNo uy + x < z + wx + u + y < z + w + u
L2254
Axiom. (add_SNoCutP_lem) We take the following as an axiom:
∀Lx Rx Ly Ry x y, SNoCutP Lx RxSNoCutP Ly Ryx = SNoCut Lx Rxy = SNoCut Ly RySNoCutP ({w + y|wLx} :\/: {x + w|wLy}) ({z + y|zRx} :\/: {x + z|zRy}) /\ x + y = SNoCut ({w + y|wLx} :\/: {x + w|wLy}) ({z + y|zRx} :\/: {x + z|zRy})
L2262
Axiom. (add_SNoCutP_gen) We take the following as an axiom:
∀Lx Rx Ly Ry x y, SNoCutP Lx RxSNoCutP Ly Ryx = SNoCut Lx Rxy = SNoCut Ly RySNoCutP ({w + y|wLx} :\/: {x + w|wLy}) ({z + y|zRx} :\/: {x + z|zRy})
L2269
Axiom. (add_SNoCut_eq) We take the following as an axiom:
∀Lx Rx Ly Ry x y, SNoCutP Lx RxSNoCutP Ly Ryx = SNoCut Lx Rxy = SNoCut Ly Ryx + y = SNoCut ({w + y|wLx} :\/: {x + w|wLy}) ({z + y|zRx} :\/: {x + z|zRy})
L2276
Axiom. (add_SNo_SNoCut_L_interpolate) We take the following as an axiom:
∀Lx Rx Ly Ry x y, SNoCutP Lx RxSNoCutP Ly Ryx = SNoCut Lx Rxy = SNoCut Ly Ry∀uSNoL (x + y), (exists vLx, u <= v + y) \/ (exists vLy, u <= x + v)
L2283
Axiom. (add_SNo_SNoCut_R_interpolate) We take the following as an axiom:
∀Lx Rx Ly Ry x y, SNoCutP Lx RxSNoCutP Ly Ryx = SNoCut Lx Rxy = SNoCut Ly Ry∀uSNoR (x + y), (exists vRx, v + y <= u) \/ (exists vRy, x + v <= u)
L2290
Axiom. (add_SNo_minus_Lt12b3) We take the following as an axiom:
∀x y z w u v, SNo xSNo ySNo zSNo wSNo uSNo vx + y + v < w + u + zx + y + - z < w + u + - v
L2295
Axiom. (add_SNo_Le1_cancel) We take the following as an axiom:
∀x y z, SNo xSNo ySNo zx + y <= z + yx <= z
L2297
Axiom. (add_SNo_minus_Le1b) We take the following as an axiom:
∀x y z, SNo xSNo ySNo zx <= z + yx + - y <= z
L2299
Axiom. (add_SNo_minus_Le1b3) We take the following as an axiom:
∀x y z w, SNo xSNo ySNo zSNo wx + y <= w + zx + y + - z <= w
L2301
Axiom. (add_SNo_minus_Le12b3) We take the following as an axiom:
∀x y z w u v, SNo xSNo ySNo zSNo wSNo uSNo vx + y + v <= w + u + zx + y + - z <= w + u + - v
End of Section SurrealAdd
Notation. We use :*: as an infix operator with priority 440 and which associates to the left corresponding to applying term setprod.
Notation. We use :^: as an infix operator with priority 430 and which associates to the left corresponding to applying term setexp.
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.
Primitive. The name mul_SNo is a term 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.
L2323
Axiom. (mul_SNo_eq) We take the following as an axiom:
∀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})
L2332
Axiom. (mul_SNo_eq_2) We take the following as an axiom:
∀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
L2353
Axiom. (mul_SNo_prop_1) We take the following as an axiom:
∀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
L2363
Axiom. (SNo_mul_SNo) We take the following as an axiom:
∀x y, SNo xSNo ySNo (x * y)
L2365
Axiom. (SNo_mul_SNo_lem) We take the following as an axiom:
∀x y u v, SNo xSNo ySNo uSNo vSNo (u * y + x * v + - (u * v))
L2367
Axiom. (SNo_mul_SNo_3) We take the following as an axiom:
∀x y z, SNo xSNo ySNo zSNo (x * y * z)
L2369
Axiom. (mul_SNo_eq_3) We take the following as an axiom:
∀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
L2390
Axiom. (mul_SNo_Lt) We take the following as an axiom:
∀x y u v, SNo xSNo ySNo uSNo vu < xv < yu * y + x * v < x * y + u * v
L2393
Axiom. (mul_SNo_Le) We take the following as an axiom:
∀x y u v, SNo xSNo ySNo uSNo vu <= xv <= yu * y + x * v <= x * y + u * v
L2396
Axiom. (mul_SNo_SNoL_interpolate) We take the following as an axiom:
∀x y, SNo xSNo y∀uSNoL (x * y), (exists vSNoL x, exists wSNoL y, u + v * w <= v * y + x * w) \/ (exists vSNoR x, exists wSNoR y, u + v * w <= v * y + x * w)
L2401
Axiom. (mul_SNo_SNoL_interpolate_impred) We take the following as an axiom:
∀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
L2407
Axiom. (mul_SNo_SNoR_interpolate) We take the following as an axiom:
∀x y, SNo xSNo y∀uSNoR (x * y), (exists vSNoL x, exists wSNoR y, v * y + x * w <= u + v * w) \/ (exists vSNoR x, exists wSNoL y, v * y + x * w <= u + v * w)
L2412
Axiom. (mul_SNo_SNoR_interpolate_impred) We take the following as an axiom:
∀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
L2418
Axiom. (mul_SNo_Subq_lem) We take the following as an axiom:
∀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'
L2431
Axiom. (mul_SNo_zeroR) We take the following as an axiom:
∀x, SNo xx * 0 = 0
L2434
Axiom. (mul_SNo_oneR) We take the following as an axiom:
∀x, SNo xx * 1 = x
L2436
Axiom. (mul_SNo_com) We take the following as an axiom:
∀x y, SNo xSNo yx * y = y * x
L2438
Axiom. (mul_SNo_minus_distrL) We take the following as an axiom:
∀x y, SNo xSNo y(- x) * y = - x * y
L2440
Axiom. (mul_SNo_minus_distrR) We take the following as an axiom:
∀x y, SNo xSNo yx * (- y) = - (x * y)
L2442
Axiom. (mul_SNo_distrR) We take the following as an axiom:
∀x y z, SNo xSNo ySNo z(x + y) * z = x * z + y * z
L2445
Axiom. (mul_SNo_distrL) We take the following as an axiom:
∀x y z, SNo xSNo ySNo zx * (y + z) = x * y + x * z
Beginning of Section mul_SNo_assoc_lems
L2450
Variable M : setsetset
L2455
Hypothesis DL : ∀x y z, SNo xSNo ySNo zx * (y + z) = x * y + x * z
L2457
Hypothesis DR : ∀x y z, SNo xSNo ySNo z(x + y) * z = x * z + y * z
L2458
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
L2463
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
L2468
Hypothesis M_Lt : ∀x y u v, SNo xSNo ySNo uSNo vu < xv < yu * y + x * v < x * y + u * v
L2471
Hypothesis M_Le : ∀x y u v, SNo xSNo ySNo uSNo vu <= xv <= yu * y + x * v <= x * y + u * v
L2473
Axiom. (mul_SNo_assoc_lem1) We take the following as an axiom:
∀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
L2489
Axiom. (mul_SNo_assoc_lem2) We take the following as an axiom:
∀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
End of Section mul_SNo_assoc_lems
L2507
Axiom. (mul_SNo_assoc) We take the following as an axiom:
∀x y z, SNo xSNo ySNo zx * (y * z) = (x * y) * z
L2510
Axiom. (mul_nat_mul_SNo) We take the following as an axiom:
∀n momega, mul_nat n m = n * m
L2512
Axiom. (mul_SNo_In_omega) We take the following as an axiom:
∀n momega, n * m omega
L2514
Axiom. (mul_SNo_zeroL) We take the following as an axiom:
∀x, SNo x0 * x = 0
L2516
Axiom. (mul_SNo_oneL) We take the following as an axiom:
∀x, SNo x1 * x = x
L2518
Axiom. (SNo_gt2_double_ltS) We take the following as an axiom:
∀x, SNo x1 < xx + 1 < 2 * x
L2520
Axiom. (pos_mul_SNo_Lt) We take the following as an axiom:
∀x y z, SNo x0 < xSNo ySNo zy < zx * y < x * z
L2522
Axiom. (nonneg_mul_SNo_Le) We take the following as an axiom:
∀x y z, SNo x0 <= xSNo ySNo zy <= zx * y <= x * z
L2524
Axiom. (neg_mul_SNo_Lt) We take the following as an axiom:
∀x y z, SNo xx < 0SNo ySNo zz < yx * y < x * z
L2526
Axiom. (pos_mul_SNo_Lt') We take the following as an axiom:
∀x y z, SNo xSNo ySNo z0 < zx < yx * z < y * z
L2528
Axiom. (mul_SNo_Lt1_pos_Lt) We take the following as an axiom:
∀x y, SNo xSNo yx < 10 < yx * y < y
L2530
Axiom. (nonneg_mul_SNo_Le') We take the following as an axiom:
∀x y z, SNo xSNo ySNo z0 <= zx <= yx * z <= y * z
L2532
Axiom. (mul_SNo_Le1_nonneg_Le) We take the following as an axiom:
∀x y, SNo xSNo yx <= 10 <= yx * y <= y
L2534
Axiom. (pos_mul_SNo_Lt2) We take the following as an axiom:
∀x y z w, SNo xSNo ySNo zSNo w0 < x0 < yx < zy < wx * y < z * w
L2536
Axiom. (nonneg_mul_SNo_Le2) We take the following as an axiom:
∀x y z w, SNo xSNo ySNo zSNo w0 <= x0 <= yx <= zy <= wx * y <= z * w
L2538
Axiom. (mul_SNo_pos_pos) We take the following as an axiom:
∀x y, SNo xSNo y0 < x0 < y0 < x * y
L2540
Axiom. (mul_SNo_pos_neg) We take the following as an axiom:
∀x y, SNo xSNo y0 < xy < 0x * y < 0
L2542
Axiom. (mul_SNo_neg_pos) We take the following as an axiom:
∀x y, SNo xSNo yx < 00 < yx * y < 0
L2544
Axiom. (mul_SNo_neg_neg) We take the following as an axiom:
∀x y, SNo xSNo yx < 0y < 00 < x * y
L2546
Axiom. (mul_SNo_nonneg_nonneg) We take the following as an axiom:
∀x y, SNo xSNo y0 <= x0 <= y0 <= x * y
L2548
Axiom. (mul_SNo_nonpos_pos) We take the following as an axiom:
∀x y, SNo xSNo yx <= 00 < yx * y <= 0
L2550
Axiom. (mul_SNo_nonpos_neg) We take the following as an axiom:
∀x y, SNo xSNo yx <= 0y < 00 <= x * y
L2552
Axiom. (nonpos_mul_SNo_Le) We take the following as an axiom:
∀x y z, SNo xx <= 0SNo ySNo zz <= yx * y <= x * z
L2554
Axiom. (SNo_sqr_nonneg) We take the following as an axiom:
∀x, SNo x0 <= x * x
L2556
Axiom. (SNo_zero_or_sqr_pos) We take the following as an axiom:
∀x, SNo xx = 0 \/ 0 < x * x
L2558
Axiom. (SNo_pos_sqr_uniq) We take the following as an axiom:
∀x y, SNo xSNo y0 < x0 < yx * x = y * yx = y
L2560
Axiom. (SNo_nonneg_sqr_uniq) We take the following as an axiom:
∀x y, SNo xSNo y0 <= x0 <= yx * x = y * yx = y
L2562
Axiom. (SNo_foil) We take the following as an axiom:
∀x y z w, SNo xSNo ySNo zSNo w(x + y) * (z + w) = x * z + x * w + y * z + y * w
L2564
Axiom. (mul_SNo_minus_minus) We take the following as an axiom:
∀x y, SNo xSNo y(- x) * (- y) = x * y
L2566
Axiom. (mul_SNo_com_3_0_1) We take the following as an axiom:
∀x y z, SNo xSNo ySNo zx * y * z = y * x * z
L2569
Axiom. (mul_SNo_com_3b_1_2) We take the following as an axiom:
∀x y z, SNo xSNo ySNo z(x * y) * z = (x * z) * y
L2572
Axiom. (mul_SNo_com_4_inner_mid) We take the following as an axiom:
∀x y z w, SNo xSNo ySNo zSNo w(x * y) * (z * w) = (x * z) * (y * w)
L2575
Axiom. (mul_SNo_rotate_3_1) We take the following as an axiom:
∀x y z, SNo xSNo ySNo zx * y * z = z * x * y
L2578
Axiom. (mul_SNo_rotate_4_1) We take the following as an axiom:
∀x y z w, SNo xSNo ySNo zSNo wx * y * z * w = w * x * y * z
L2581
Axiom. (SNo_foil_mm) We take the following as an axiom:
∀x y z w, SNo xSNo ySNo zSNo w(x + - y) * (z + - w) = x * z + - x * w + - y * z + y * w
L2583
Axiom. (mul_SNo_nonzero_cancel) We take the following as an axiom:
∀x y z, SNo xx <> 0SNo ySNo zx * y = x * zy = z
L2585
Axiom. (mul_SNoCutP_lem) We take the following as an axiom:
∀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
L2618
Axiom. (mul_SNoCutP_gen) We take the following as an axiom:
∀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})
L2630
Axiom. (mul_SNoCut_eq) We take the following as an axiom:
∀Lx Rx Ly Ry x y, SNoCutP Lx RxSNoCutP Ly Ryx = SNoCut Lx Rxy = SNoCut Ly Ryx * 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})
L2642
Axiom. (mul_SNoCut_abs) We take the following as an axiom:
∀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
L2662
Axiom. (mul_SNo_SNoCut_SNoL_interpolate) We take the following as an axiom:
∀Lx Rx Ly Ry, SNoCutP Lx RxSNoCutP Ly Ry∀x y, x = SNoCut Lx Rxy = SNoCut Ly Ry∀uSNoL (x * y), (exists vLx, exists wLy, u + v * w <= v * y + x * w) \/ (exists vRx, exists wRy, u + v * w <= v * y + x * w)
L2670
Axiom. (mul_SNo_SNoCut_SNoL_interpolate_impred) We take the following as an axiom:
∀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
L2679
Axiom. (mul_SNo_SNoCut_SNoR_interpolate) We take the following as an axiom:
∀Lx Rx Ly Ry, SNoCutP Lx RxSNoCutP Ly Ry∀x y, x = SNoCut Lx Rxy = SNoCut Ly Ry∀uSNoR (x * y), (exists vLx, exists wRy, v * y + x * w <= u + v * w) \/ (exists vRx, exists wLy, v * y + x * w <= u + v * w)
L2687
Axiom. (mul_SNo_SNoCut_SNoR_interpolate_impred) We take the following as an axiom:
∀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
End of Section SurrealMul
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.
L2704
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.
L2708
Axiom. (exp_SNo_nat_0) We take the following as an axiom:
∀x, SNo xx ^ 0 = 1
L2710
Axiom. (exp_SNo_nat_S) We take the following as an axiom:
∀x, SNo x∀n, nat_p nx ^ (ordsucc n) = x * x ^ n
L2712
Axiom. (exp_SNo_nat_1) We take the following as an axiom:
∀x, SNo xx ^ 1 = x
L2714
Axiom. (exp_SNo_nat_2) We take the following as an axiom:
∀x, SNo xx ^ 2 = x * x
L2716
Axiom. (SNo_sqr_nonneg') We take the following as an axiom:
∀x, SNo x0 <= x ^ 2
L2718
Axiom. (SNo_zero_or_sqr_pos') We take the following as an axiom:
∀x, SNo xx = 0 \/ 0 < x ^ 2
L2720
Axiom. (SNo_exp_SNo_nat) We take the following as an axiom:
∀x, SNo x∀n, nat_p nSNo (x ^ n)
L2722
Axiom. (nat_exp_SNo_nat) We take the following as an axiom:
∀x, nat_p x∀n, nat_p nnat_p (x ^ n)
L2724
Axiom. (eps_ordsucc_half_add) We take the following as an axiom:
∀n, nat_p neps_ (ordsucc n) + eps_ (ordsucc n) = eps_ n
L2726
Axiom. (eps_1_half_eq1) We take the following as an axiom:
L2728
Axiom. (eps_1_half_eq2) We take the following as an axiom:
L2730
Axiom. (double_eps_1) We take the following as an axiom:
∀x y z, SNo xSNo ySNo zx + x = y + zx = eps_ 1 * (y + z)
L2732
Axiom. (exp_SNo_1_bd) We take the following as an axiom:
∀x, SNo x1 <= x∀n, nat_p n1 <= x ^ n
L2734
Axiom. (exp_SNo_2_bd) We take the following as an axiom:
∀n, nat_p nn < 2 ^ n
L2736
Axiom. (mul_SNo_eps_power_2) We take the following as an axiom:
∀n, nat_p neps_ n * 2 ^ n = 1
L2738
Axiom. (eps_bd_1) We take the following as an axiom:
L2740
Axiom. (mul_SNo_eps_power_2') We take the following as an axiom:
∀n, nat_p n2 ^ n * eps_ n = 1
L2742
Axiom. (exp_SNo_nat_mul_add) We take the following as an axiom:
∀x, SNo x∀m, nat_p m∀n, nat_p nx ^ m * x ^ n = x ^ (m + n)
L2744
Axiom. (exp_SNo_nat_mul_add') We take the following as an axiom:
∀x, SNo x∀m nomega, x ^ m * x ^ n = x ^ (m + n)
L2746
Axiom. (exp_SNo_nat_pos) We take the following as an axiom:
∀x, SNo x0 < x∀n, nat_p n0 < x ^ n
L2748
Axiom. (mul_SNo_eps_eps_add_SNo) We take the following as an axiom:
∀m nomega, eps_ m * eps_ n = eps_ (m + n)
L2750
Axiom. (SNoS_omega_Lev_equip) We take the following as an axiom:
∀n, nat_p nequip {xSNoS_ omega|SNoLev x = n} (2 ^ n)
L2752
Axiom. (SNoS_finite) We take the following as an axiom:
L2754
Axiom. (SNoS_omega_SNoL_finite) We take the following as an axiom:
L2756
Axiom. (SNoS_omega_SNoR_finite) We take the following as an axiom:
End of Section SurrealExp
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.
L2767
L2769
Axiom. (int_SNo_cases) We take the following as an axiom:
∀p : setprop, (∀nomega, p n)(∀nomega, p (- n))∀xint, p x
L2774
Axiom. (int_3_cases) We take the following as an axiom:
∀nint, ∀p : prop, (∀momega, n = - ordsucc mp)(n = 0p)(∀momega, n = ordsucc mp)p
L2780
Axiom. (int_SNo) We take the following as an axiom:
∀xint, SNo x
L2782
Axiom. (Subq_omega_int) We take the following as an axiom:
L2784
Axiom. (int_minus_SNo_omega) We take the following as an axiom:
L2786
Axiom. (int_add_SNo_lem) We take the following as an axiom:
∀nomega, ∀m, nat_p m- n + m int
L2788
Axiom. (int_add_SNo) We take the following as an axiom:
∀x yint, x + y int
L2790
Axiom. (int_minus_SNo) We take the following as an axiom:
∀xint, - x int
L2792
Axiom. (int_mul_SNo) We take the following as an axiom:
∀x yint, x * y int
End of Section Int
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.
L2802
Definition. We define abs_SNo to be λx ⇒ if 0 <= x then x else - x of type setset.
L2804
Axiom. (nonneg_abs_SNo) We take the following as an axiom:
∀x, 0 <= xabs_SNo x = x
L2806
Axiom. (not_nonneg_abs_SNo) We take the following as an axiom:
∀x, ~ (0 <= x)abs_SNo x = - x
L2808
Axiom. (abs_SNo_0) We take the following as an axiom:
L2810
Axiom. (pos_abs_SNo) We take the following as an axiom:
∀x, 0 < xabs_SNo x = x
L2812
Axiom. (neg_abs_SNo) We take the following as an axiom:
∀x, SNo xx < 0abs_SNo x = - x
L2814
Axiom. (SNo_abs_SNo) We take the following as an axiom:
∀x, SNo xSNo (abs_SNo x)
L2816
Axiom. (abs_SNo_Lev) We take the following as an axiom:
∀x, SNo xSNoLev (abs_SNo x) = SNoLev x
L2818
Axiom. (abs_SNo_minus) We take the following as an axiom:
∀x, SNo xabs_SNo (- x) = abs_SNo x
L2820
Axiom. (abs_SNo_dist_swap) We take the following as an axiom:
∀x y, SNo xSNo yabs_SNo (x + - y) = abs_SNo (y + - x)
L2822
Axiom. (SNo_triangle) We take the following as an axiom:
∀x y, SNo xSNo yabs_SNo (x + y) <= abs_SNo x + abs_SNo y
L2824
Axiom. (SNo_triangle2) We take the following as an axiom:
∀x y z, SNo xSNo ySNo zabs_SNo (x + - z) <= abs_SNo (x + - y) + abs_SNo (y + - z)
End of Section SurrealAbs
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.
L2837
Definition. We define SNo_max_of to be λX x ⇒ x X /\ SNo x /\ ∀yX, SNo yy <= x of type setsetprop.
L2839
Definition. We define SNo_min_of to be λX x ⇒ x X /\ SNo x /\ ∀yX, SNo yx <= y of type setsetprop.
L2840
Axiom. (minus_SNo_max_min) We take the following as an axiom:
∀X y, (∀xX, SNo x)SNo_max_of X ySNo_min_of {- x|xX} (- y)
L2842
Axiom. (minus_SNo_max_min') We take the following as an axiom:
∀X y, (∀xX, SNo x)SNo_max_of {- x|xX} ySNo_min_of X (- y)
L2844
Axiom. (minus_SNo_min_max) We take the following as an axiom:
∀X y, (∀xX, SNo x)SNo_min_of X ySNo_max_of {- x|xX} (- y)
L2846
Axiom. (double_SNo_max_1) We take the following as an axiom:
∀x y, SNo xSNo_max_of (SNoL x) y∀z, SNo zx < zy + z < x + xexists wSNoR z, y + w = x + x
L2848
Axiom. (double_SNo_min_1) We take the following as an axiom:
∀x y, SNo xSNo_min_of (SNoR x) y∀z, SNo zz < xx + x < y + zexists wSNoL z, y + w = x + x
L2850
Axiom. (finite_max_exists) We take the following as an axiom:
∀X, (∀xX, SNo x)finite XX <> 0exists x, SNo_max_of X x
L2852
Axiom. (finite_min_exists) We take the following as an axiom:
∀X, (∀xX, SNo x)finite XX <> 0exists x, SNo_min_of X x
L2854
Axiom. (SNoS_omega_SNoL_max_exists) We take the following as an axiom:
∀xSNoS_ omega, SNoL x = 0 \/ exists y, SNo_max_of (SNoL x) y
L2856
Axiom. (SNoS_omega_SNoR_min_exists) We take the following as an axiom:
∀xSNoS_ omega, SNoR x = 0 \/ exists y, SNo_min_of (SNoR x) y
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.
L2870
Axiom. (nonneg_diadic_rational_p_SNoS_omega) We take the following as an axiom:
∀komega, ∀n, nat_p neps_ k * n SNoS_ omega
L2872
Definition. We define diadic_rational_p to be λx ⇒ exists komega, exists mint, x = eps_ k * m of type setprop.
L2874
Axiom. (diadic_rational_p_SNoS_omega) We take the following as an axiom:
L2876
Axiom. (int_diadic_rational_p) We take the following as an axiom:
L2878
Axiom. (omega_diadic_rational_p) We take the following as an axiom:
L2880
Axiom. (eps_diadic_rational_p) We take the following as an axiom:
L2882
Axiom. (minus_SNo_diadic_rational_p) We take the following as an axiom:
L2884
Axiom. (mul_SNo_diadic_rational_p) We take the following as an axiom:
L2886
Axiom. (add_SNo_diadic_rational_p) We take the following as an axiom:
L2888
Axiom. (SNoS_omega_diadic_rational_p_lem) We take the following as an axiom:
∀n, nat_p n∀x, SNo xSNoLev x = ndiadic_rational_p x
L2890
Axiom. (SNoS_omega_diadic_rational_p) We take the following as an axiom:
L2892
Axiom. (mul_SNo_SNoS_omega) We take the following as an axiom:
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.
L2907
Definition. We define SNoL_pos to be λx ⇒ {wSNoL x|0 < w} of type setset.
L2909
Axiom. (SNo_recip_pos_pos) We take the following as an axiom:
∀x xi, SNo xSNo xi0 < xx * xi = 10 < xi
L2911
Axiom. (SNo_recip_lem1) We take the following as an axiom:
∀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'
L2913
Axiom. (SNo_recip_lem2) We take the following as an axiom:
∀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
L2915
Axiom. (SNo_recip_lem3) We take the following as an axiom:
∀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
L2917
Axiom. (SNo_recip_lem4) We take the following as an axiom:
∀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'
L2919
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.
L2921
Axiom. (SNo_recipauxset_I) We take the following as an axiom:
∀Y x X, ∀g : setset, ∀yY, ∀x'X, (1 + (x' + - x) * y) * g x' SNo_recipauxset Y x X g
L2924
Axiom. (SNo_recipauxset_E) We take the following as an axiom:
∀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
L2926
Axiom. (SNo_recipauxset_ext) We take the following as an axiom:
∀Y x X, ∀g h : setset, (∀x'X, g x' = h x')SNo_recipauxset Y x X g = SNo_recipauxset Y x X h
L2928
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.
L2936
Axiom. (SNo_recipaux_0) We take the following as an axiom:
∀x, ∀g : setset, SNo_recipaux x g 0 = ({0},0)
L2938
Axiom. (SNo_recipaux_S) We take the following as an axiom:
∀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)
L2945
Axiom. (SNo_recipaux_lem1) We take the following as an axiom:
∀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)
L2952
Axiom. (SNo_recipaux_lem2) We take the following as an axiom:
∀x, SNo x0 < x∀g : setset, (∀x'SNoS_ (SNoLev x), 0 < x'SNo (g x') /\ x' * g x' = 1)SNoCutP (\/_ komega, SNo_recipaux x g k 0) (\/_ komega, SNo_recipaux x g k 1)
L2957
Axiom. (SNo_recipaux_ext) We take the following as an axiom:
∀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
Beginning of Section recip_SNo_pos
L2961
Let G : set(setset)setλx g ⇒ SNoCut (\/_ komega, SNo_recipaux x g k 0) (\/_ komega, SNo_recipaux x g k 1)
L2963
Definition. We define recip_SNo_pos to be SNo_rec_i G of type setset.
L2965
Axiom. (recip_SNo_pos_eq) We take the following as an axiom:
∀x, SNo xrecip_SNo_pos x = G x recip_SNo_pos
L2967
Axiom. (recip_SNo_pos_prop1) We take the following as an axiom:
∀x, SNo x0 < xSNo (recip_SNo_pos x) /\ x * recip_SNo_pos x = 1
L2969
Axiom. (SNo_recip_SNo_pos) We take the following as an axiom:
∀x, SNo x0 < xSNo (recip_SNo_pos x)
L2971
Axiom. (recip_SNo_pos_invR) We take the following as an axiom:
∀x, SNo x0 < xx * recip_SNo_pos x = 1
L2973
Axiom. (recip_SNo_pos_1) We take the following as an axiom:
L2975
Axiom. (recip_SNo_pos_is_pos) We take the following as an axiom:
∀x, SNo x0 < x0 < recip_SNo_pos x
L2977
Axiom. (recip_SNo_pos_invol) We take the following as an axiom:
∀x, SNo x0 < xrecip_SNo_pos (recip_SNo_pos x) = x
L2979
Axiom. (recip_SNo_pos_eps_) We take the following as an axiom:
∀n, nat_p nrecip_SNo_pos (eps_ n) = 2 ^ n
L2981
Axiom. (recip_SNo_pos_pow_2) We take the following as an axiom:
∀n, nat_p nrecip_SNo_pos (2 ^ n) = eps_ n
L2983
Axiom. (recip_SNo_pos_2) We take the following as an axiom:
End of Section recip_SNo_pos
L2987
L2989
Axiom. (recip_SNo_poscase) We take the following as an axiom:
∀x, 0 < xrecip_SNo x = recip_SNo_pos x
L2991
Axiom. (recip_SNo_negcase) We take the following as an axiom:
∀x, SNo xx < 0recip_SNo x = - recip_SNo_pos (- x)
L2993
Axiom. (recip_SNo_0) We take the following as an axiom:
L2995
Axiom. (recip_SNo_1) We take the following as an axiom:
L2997
Axiom. (SNo_recip_SNo) We take the following as an axiom:
∀x, SNo xSNo (recip_SNo x)
L2999
Axiom. (recip_SNo_invR) We take the following as an axiom:
∀x, SNo xx <> 0x * recip_SNo x = 1
L3001
Axiom. (recip_SNo_invL) We take the following as an axiom:
∀x, SNo xx <> 0recip_SNo x * x = 1
L3003
Axiom. (recip_SNo_eps_) We take the following as an axiom:
∀n, nat_p nrecip_SNo (eps_ n) = 2 ^ n
L3005
Axiom. (recip_SNo_pow_2) We take the following as an axiom:
∀n, nat_p nrecip_SNo (2 ^ n) = eps_ n
L3007
Axiom. (recip_SNo_2) We take the following as an axiom:
L3009
Axiom. (recip_SNo_invol) We take the following as an axiom:
∀x, SNo xrecip_SNo (recip_SNo x) = x
L3011
Axiom. (recip_SNo_of_pos_is_pos) We take the following as an axiom:
∀x, SNo x0 < x0 < recip_SNo x
L3013
Axiom. (recip_SNo_neg') We take the following as an axiom:
∀x, SNo xx < 0recip_SNo x < 0
L3015
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.
L3019
Axiom. (SNo_div_SNo) We take the following as an axiom:
∀x y, SNo xSNo ySNo (x :/: y)
L3021
Axiom. (div_SNo_0_num) We take the following as an axiom:
∀x, SNo x0 :/: x = 0
L3023
Axiom. (div_SNo_0_denum) We take the following as an axiom:
∀x, SNo xx :/: 0 = 0
L3025
Axiom. (mul_div_SNo_invL) We take the following as an axiom:
∀x y, SNo xSNo yy <> 0(x :/: y) * y = x
L3027
Axiom. (mul_div_SNo_invR) We take the following as an axiom:
∀x y, SNo xSNo yy <> 0y * (x :/: y) = x
L3029
Axiom. (mul_div_SNo_R) We take the following as an axiom:
∀x y z, SNo xSNo ySNo z(x :/: y) * z = (x * z) :/: y
L3031
Axiom. (mul_div_SNo_L) We take the following as an axiom:
∀x y z, SNo xSNo ySNo zz * (x :/: y) = (z * x) :/: y
L3033
Axiom. (div_mul_SNo_invL) We take the following as an axiom:
∀x y, SNo xSNo yy <> 0(x * y) :/: y = x
L3035
Axiom. (div_div_SNo) We take the following as an axiom:
∀x y z, SNo xSNo ySNo z(x :/: y) :/: z = x :/: (y * z)
L3037
Axiom. (mul_div_SNo_both) We take the following as an axiom:
∀x y z w, SNo xSNo ySNo zSNo w(x :/: y) * (z :/: w) = (x * z) :/: (y * w)
L3039
Axiom. (recip_SNo_pos_pos) We take the following as an axiom:
∀x, SNo x0 < x0 < recip_SNo_pos x
L3041
Axiom. (recip_SNo_of_neg_is_neg) We take the following as an axiom:
∀x, SNo xx < 0recip_SNo x < 0
L3043
Axiom. (div_SNo_pos_pos) We take the following as an axiom:
∀x y, SNo xSNo y0 < x0 < y0 < x :/: y
L3045
Axiom. (div_SNo_neg_neg) We take the following as an axiom:
∀x y, SNo xSNo yx < 0y < 00 < x :/: y
L3047
Axiom. (div_SNo_pos_neg) We take the following as an axiom:
∀x y, SNo xSNo y0 < xy < 0x :/: y < 0
L3049
Axiom. (div_SNo_neg_pos) We take the following as an axiom:
∀x y, SNo xSNo yx < 00 < yx :/: y < 0
L3051
Axiom. (div_SNo_pos_LtL) We take the following as an axiom:
∀x y z, SNo xSNo ySNo z0 < yx < z * yx :/: y < z
L3053
Axiom. (div_SNo_pos_LtR) We take the following as an axiom:
∀x y z, SNo xSNo ySNo z0 < yz * y < xz < x :/: y
L3055
Axiom. (div_SNo_pos_LtL') We take the following as an axiom:
∀x y z, SNo xSNo ySNo z0 < yx :/: y < zx < z * y
L3057
Axiom. (div_SNo_pos_LtR') We take the following as an axiom:
∀x y z, SNo xSNo ySNo z0 < yz < x :/: yz * y < x
L3059
Axiom. (mul_div_SNo_nonzero_eq) We take the following as an axiom:
∀x y z, SNo xSNo ySNo zy <> 0x = y * zx :/: y = z
End of Section SurrealDiv
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.
L3075
Definition. We define SNoL_nonneg to be λx ⇒ {wSNoL x|0 <= w} of type setset.
L3077
Axiom. (SNoL_nonneg_0) We take the following as an axiom:
L3079
Axiom. (SNoL_nonneg_1) We take the following as an axiom:
L3081
Definition. We define SNo_sqrtauxset to be λY Z x ⇒ \/_ yY, {(x + y * z) :/: (y + z)|zZ, 0 < y + z} of type setsetsetset.
L3083
Axiom. (SNo_sqrtauxset_I) We take the following as an axiom:
∀Y Z x, ∀yY, ∀zZ, 0 < y + z(x + y * z) :/: (y + z) SNo_sqrtauxset Y Z x
L3086
Axiom. (SNo_sqrtauxset_E) We take the following as an axiom:
∀Y Z x, ∀uSNo_sqrtauxset Y Z x, ∀p : prop, (∀yY, ∀zZ, 0 < y + zu = (x + y * z) :/: (y + z)p)p
L3091
Axiom. (SNo_sqrtauxset_0) We take the following as an axiom:
∀Z x, SNo_sqrtauxset 0 Z x = 0
L3093
Axiom. (SNo_sqrtauxset_0') We take the following as an axiom:
∀Y x, SNo_sqrtauxset Y 0 x = 0
L3095
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.
L3102
Axiom. (SNo_sqrtaux_0) We take the following as an axiom:
∀x, ∀g : setset, SNo_sqrtaux x g 0 = ({g w|wSNoL_nonneg x},{g z|zSNoR x})
L3104
Axiom. (SNo_sqrtaux_S) We take the following as an axiom:
∀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)
L3112
Axiom. (SNo_sqrtaux_mon_lem) We take the following as an axiom:
∀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
L3117
Axiom. (SNo_sqrtaux_mon) We take the following as an axiom:
∀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
L3122
Axiom. (SNo_sqrtaux_ext) We take the following as an axiom:
∀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
Beginning of Section sqrt_SNo_nonneg
L3126
Let G : set(setset)setλx g ⇒ SNoCut (\/_ komega, SNo_sqrtaux x g k 0) (\/_ komega, SNo_sqrtaux x g k 1)
L3128
L3130
Axiom. (sqrt_SNo_nonneg_eq) We take the following as an axiom:
L3132
Axiom. (sqrt_SNo_nonneg_prop1a) We take the following as an axiom:
∀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)
L3138
Axiom. (sqrt_SNo_nonneg_prop1b) We take the following as an axiom:
∀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))SNoCutP (\/_ komega, SNo_sqrtaux x sqrt_SNo_nonneg k 0) (\/_ komega, SNo_sqrtaux x sqrt_SNo_nonneg k 1)
L3144
Axiom. (sqrt_SNo_nonneg_prop1c) We take the following as an axiom:
∀x, SNo x0 <= xSNoCutP (\/_ komega, SNo_sqrtaux x sqrt_SNo_nonneg k 0) (\/_ komega, SNo_sqrtaux x sqrt_SNo_nonneg k 1)(∀z(\/_ komega, SNo_sqrtaux x sqrt_SNo_nonneg k 1), ∀p : prop, (SNo z0 <= zx < z * zp)p)0 <= G x sqrt_SNo_nonneg
L3149
L3156
L3163
Axiom. (sqrt_SNo_nonneg_prop1) We take the following as an axiom:
End of Section sqrt_SNo_nonneg
L3167
Axiom. (SNo_sqrtaux_0_1_prop) We take the following as an axiom:
∀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)
L3172
Axiom. (SNo_sqrtaux_0_prop) We take the following as an axiom:
∀x, SNo x0 <= x∀k, nat_p k∀ySNo_sqrtaux x sqrt_SNo_nonneg k 0, SNo y /\ 0 <= y /\ y * y < x
L3176
Axiom. (SNo_sqrtaux_1_prop) We take the following as an axiom:
∀x, SNo x0 <= x∀k, nat_p k∀ySNo_sqrtaux x sqrt_SNo_nonneg k 1, SNo y /\ 0 <= y /\ x < y * y
L3180
Axiom. (SNo_sqrt_SNo_SNoCutP) We take the following as an axiom:
L3184
Axiom. (SNo_sqrt_SNo_nonneg) We take the following as an axiom:
∀x, SNo x0 <= xSNo (sqrt_SNo_nonneg x)
L3186
Axiom. (sqrt_SNo_nonneg_nonneg) We take the following as an axiom:
∀x, SNo x0 <= x0 <= sqrt_SNo_nonneg x
L3188
Axiom. (sqrt_SNo_nonneg_sqr) We take the following as an axiom:
∀x, SNo x0 <= xsqrt_SNo_nonneg x * sqrt_SNo_nonneg x = x
L3190
Axiom. (sqrt_SNo_nonneg_0) We take the following as an axiom:
L3192
Axiom. (sqrt_SNo_nonneg_1) We take the following as an axiom:
End of Section SurrealSqrt
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 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.
L3208
Axiom. (SNoS_omega_drat_intvl) We take the following as an axiom:
∀xSNoS_ omega, ∀komega, exists qSNoS_ omega, q < x /\ x < q + eps_ k
L3211
Axiom. (SNoS_ordsucc_omega_bdd_above) We take the following as an axiom:
∀xSNoS_ (ordsucc omega), x < omegaexists Nomega, x < N
L3213
Axiom. (SNoS_ordsucc_omega_bdd_below) We take the following as an axiom:
∀xSNoS_ (ordsucc omega), - omega < xexists Nomega, - N < x
L3215
Axiom. (SNoS_ordsucc_omega_bdd_drat_intvl) We take the following as an axiom:
∀xSNoS_ (ordsucc omega), - omega < xx < omega∀komega, exists qSNoS_ omega, q < x /\ x < q + eps_ k
L3219
Definition. We define real to be {xSNoS_ (ordsucc omega)|x <> omega /\ x <> - omega /\ (∀qSNoS_ omega, (∀komega, abs_SNo (q + - x) < eps_ k)q = x)} of type set.
L3221
Definition. We define rational to be {xreal|exists mint, exists nomega :\: {0}, x = m :/: n} of type set.
L3223
Axiom. (real_I) We take the following as an axiom:
∀xSNoS_ (ordsucc omega), x <> omegax <> - omega(∀qSNoS_ omega, (∀komega, abs_SNo (q + - x) < eps_ k)q = x)x real
L3229
Axiom. (real_E) We take the following as an axiom:
∀xreal, ∀p : prop, (SNo xSNoLev x ordsucc omegax SNoS_ (ordsucc omega)- omega < xx < omega(∀qSNoS_ omega, (∀komega, abs_SNo (q + - x) < eps_ k)q = x)(∀komega, exists qSNoS_ omega, q < x /\ x < q + eps_ k)p)p
L3241
Axiom. (real_SNo) We take the following as an axiom:
∀xreal, SNo x
L3243
Axiom. (real_SNoS_omega_prop) We take the following as an axiom:
∀xreal, ∀qSNoS_ omega, (∀komega, abs_SNo (q + - x) < eps_ k)q = x
L3245
Axiom. (SNoS_omega_real) We take the following as an axiom:
L3247
Axiom. (real_0) We take the following as an axiom:
L3249
Axiom. (real_1) We take the following as an axiom:
L3251
Axiom. (SNoLev_In_real_SNoS_omega) We take the following as an axiom:
∀xreal, ∀w, SNo wSNoLev w SNoLev xw SNoS_ omega
L3253
Axiom. (real_SNoCut_SNoS_omega) We take the following as an axiom:
∀L RSNoS_ omega, SNoCutP L RL <> 0R <> 0(∀wL, exists w'L, w < w')(∀zR, exists z'R, z' < z)SNoCut L R real
L3260
Axiom. (real_SNoCut) We take the following as an axiom:
∀L Rreal, SNoCutP L RL <> 0R <> 0(∀wL, exists w'L, w < w')(∀zR, exists z'R, z' < z)SNoCut L R real
L3267
Axiom. (minus_SNo_prereal_1) We take the following as an axiom:
∀x, SNo x(∀qSNoS_ omega, (∀komega, abs_SNo (q + - x) < eps_ k)q = x)(∀qSNoS_ omega, (∀komega, abs_SNo (q + - - x) < eps_ k)q = - x)
L3271
Axiom. (minus_SNo_prereal_2) We take the following as an axiom:
∀x, SNo x(∀komega, exists qSNoS_ omega, q < x /\ x < q + eps_ k)(∀komega, exists qSNoS_ omega, q < - x /\ - x < q + eps_ k)
L3275
Axiom. (SNo_prereal_incr_lower_pos) We take the following as an axiom:
∀x, SNo x0 < x(∀qSNoS_ omega, (∀komega, abs_SNo (q + - x) < eps_ k)q = x)(∀komega, exists qSNoS_ omega, q < x /\ x < q + eps_ k)∀komega, ∀p : prop, (∀qSNoS_ omega, 0 < qq < xx < q + eps_ kp)p
L3283
Axiom. (real_minus_SNo) We take the following as an axiom:
L3285
Axiom. (SNo_prereal_incr_lower_approx) We take the following as an axiom:
∀x, SNo x(∀qSNoS_ omega, (∀komega, abs_SNo (q + - x) < eps_ k)q = x)(∀komega, exists qSNoS_ omega, q < x /\ x < q + eps_ k)exists fSNoS_ omega :^: omega, ∀nomega, f n < x /\ x < f n + eps_ n /\ ∀in, f i < f n
L3292
Axiom. (SNo_prereal_decr_upper_approx) We take the following as an axiom:
∀x, SNo x(∀qSNoS_ omega, (∀komega, abs_SNo (q + - x) < eps_ k)q = x)(∀komega, exists qSNoS_ omega, q < x /\ x < q + eps_ k)exists gSNoS_ omega :^: omega, ∀nomega, g n + - eps_ n < x /\ x < g n /\ ∀in, g n < g i
L3299
Axiom. (SNoCutP_SNoCut_lim) We take the following as an axiom:
∀lambda, ordinal lambda(∀alphalambda, ordsucc alpha lambda)∀L RSNoS_ lambda, SNoCutP L RSNoLev (SNoCut L R) ordsucc lambda
L3304
Axiom. (SNoCutP_SNoCut_omega) We take the following as an axiom:
L3307
Axiom. (SNo_approx_real_lem) We take the following as an axiom:
L3320
Axiom. (SNo_approx_real) We take the following as an axiom:
∀x, SNo x∀f gSNoS_ omega :^: omega, (∀nomega, f n < x)(∀nomega, x < f n + eps_ n)(∀nomega, ∀in, f i < f n)(∀nomega, x < g n)(∀nomega, ∀in, g n < g i)x = SNoCut {f n|nomega} {g n|nomega}x real
L3330
Axiom. (SNo_approx_real_rep) We take the following as an axiom:
∀xreal, ∀p : prop, (∀f gSNoS_ omega :^: omega, (∀nomega, f n < x)(∀nomega, x < f n + eps_ n)(∀nomega, ∀in, f i < f n)(∀nomega, g n + - eps_ n < x)(∀nomega, x < g n)(∀nomega, ∀in, g n < g i)SNoCutP {f n|nomega} {g n|nomega}x = SNoCut {f n|nomega} {g n|nomega}p)p
L3344
Axiom. (real_add_SNo) We take the following as an axiom:
∀x yreal, x + y real
L3346
Axiom. (SNoS_ordsucc_omega_bdd_eps_pos) We take the following as an axiom:
∀xSNoS_ (ordsucc omega), 0 < xx < omegaexists Nomega, eps_ N * x < 1
L3348
Axiom. (real_mul_SNo_pos) We take the following as an axiom:
∀x yreal, 0 < x0 < yx * y real
L3350
Axiom. (real_mul_SNo) We take the following as an axiom:
∀x yreal, x * y real
L3352
Axiom. (abs_SNo_intvl_bd) We take the following as an axiom:
∀x y z, SNo xSNo ySNo zx <= yy < x + zabs_SNo (y + - x) < z
L3356
Axiom. (nonneg_real_nat_interval) We take the following as an axiom:
∀xreal, 0 <= xexists nomega, n <= x /\ x < ordsucc n
L3358
Axiom. (pos_real_left_approx_double) We take the following as an axiom:
∀xreal, 0 < xx <> 2(∀momega, x <> eps_ m)exists wSNoL_pos x, x < 2 * w
L3362
Axiom. (real_recip_SNo_lem1) We take the following as an axiom:
L3368
Axiom. (real_recip_SNo_pos) We take the following as an axiom:
L3370
Axiom. (real_recip_SNo) We take the following as an axiom:
L3372
Axiom. (real_div_SNo) We take the following as an axiom:
∀x yreal, x :/: y real
L3374
Axiom. (sqrt_SNo_nonneg_0inL0) We take the following as an axiom:
∀x, SNo x0 <= x0 SNoLev x0 SNo_sqrtaux x sqrt_SNo_nonneg 0 0
L3376
Axiom. (sqrt_SNo_nonneg_Lnonempty) We take the following as an axiom:
∀x, SNo x0 <= x0 SNoLev x(\/_ komega, SNo_sqrtaux x sqrt_SNo_nonneg k 0) <> 0
L3378
Axiom. (sqrt_SNo_nonneg_Rnonempty) We take the following as an axiom:
∀x, SNo x0 <= x1 SNoLev x(\/_ komega, SNo_sqrtaux x sqrt_SNo_nonneg k 1) <> 0
L3380
Axiom. (SNo_sqrtauxset_real) We take the following as an axiom:
∀Y Z x, Y realZ realx realSNo_sqrtauxset Y Z x real
L3382
Axiom. (SNo_sqrtauxset_real_nonneg) We take the following as an axiom:
∀Y Z x, Y {wreal|0 <= w}Z {zreal|0 <= z}x real0 <= xSNo_sqrtauxset Y Z x {wreal|0 <= w}
L3384
Axiom. (sqrt_SNo_nonneg_SNoS_omega) We take the following as an axiom:
L3386
Axiom. (sqrt_SNo_nonneg_real) We take the following as an axiom:
L3388
Axiom. (real_Archimedean) We take the following as an axiom:
∀x yreal, 0 < x0 <= yexists nomega, y <= n * x
L3390
Axiom. (real_complete1) We take the following as an axiom:
∀a breal :^: omega, (∀nomega, a n <= b n /\ a n <= a (ordsucc n) /\ b (ordsucc n) <= b n)exists xreal, ∀nomega, a n <= x /\ x <= b n
L3394
Axiom. (real_complete2) We take the following as an axiom:
∀a breal :^: omega, (∀nomega, a n <= b n /\ a n <= a (n + 1) /\ b (n + 1) <= b n)exists xreal, ∀nomega, a n <= x /\ x <= b n
End of Section Reals
L3400
Axiom. (mul_nat_1R) We take the following as an axiom:
∀x0, mul_nat x0 1 = x0
L3405
Axiom. (mul_nat_asso) We take the following as an axiom:
(∀x0, nat_p x0(∀x1, nat_p x1(∀x2, nat_p x2mul_nat (mul_nat x0 x1) x2 = mul_nat x0 (mul_nat x1 x2))))
L3407
Axiom. (mul_nat_com) We take the following as an axiom:
(∀x0, nat_p x0(∀x1, nat_p x1mul_nat x0 x1 = mul_nat x1 x0))
L3409
Axiom. (mul_nat_SL) We take the following as an axiom:
(∀x0, nat_p x0(∀x1, nat_p x1mul_nat (ordsucc x0) x1 = add_nat (mul_nat x0 x1) x1))
L3411
Axiom. (eps_1_half_eq3) We take the following as an axiom:
L3414
Axiom. (double_nat_cancel) We take the following as an axiom:
(∀x0, nat_p x0(∀x1, nat_p x1mul_nat 2 x0 = mul_nat 2 x1x0 = x1))
L3416
Axiom. (add_nat_Subq_L) We take the following as an axiom:
(∀x0, nat_p x0(∀x1, nat_p x1x0 add_nat x0 x1))
L3420
Axiom. (square_nat_Subq) We take the following as an axiom:
(∀x0, nat_p x0(∀x1, nat_p x1x0 x1mul_nat x0 x0 mul_nat x1 x1))
L3421
Axiom. (ordsucc_in_double_nat_ordsucc) We take the following as an axiom:
(∀x0, nat_p x0ordsucc x0 mul_nat 2 (ordsucc x0))
L3422
Axiom. (double_nat_Subq_0) We take the following as an axiom:
(∀x0, nat_p x0mul_nat 2 x0 x0x0 = 0)
L3424
Definition. We define even_nat to be (λx0 : setand (x0 omega) (∀x1 : prop, (∀x2, and (x2 omega) (x0 = mul_nat 2 x2)x1)x1)) of type setprop.
L3429
Definition. We define odd_nat to be (λx0 : setand (x0 omega) (∀x1, x1 omegax0 = mul_nat 2 x1(∀x2 : prop, x2))) of type setprop.
L3432
Axiom. (even_nat_0) We take the following as an axiom:
L3436
Axiom. (even_nat_not_odd_nat) We take the following as an axiom:
(∀x0, even_nat x0not (odd_nat x0))
L3438
Axiom. (odd_nat_1) We take the following as an axiom:
L3440
Axiom. (even_nat_double) We take the following as an axiom:
(∀x0, nat_p x0even_nat (mul_nat 2 x0))
L3442
Axiom. (even_nat_S_S) We take the following as an axiom:
(∀x0, even_nat x0even_nat (ordsucc (ordsucc x0)))
L3444
Axiom. (even_nat_S_S_inv) We take the following as an axiom:
(∀x0, nat_p x0even_nat (ordsucc (ordsucc x0))even_nat x0)
L3446
Axiom. (even_nat_xor_S) We take the following as an axiom:
(∀x0, nat_p x0exactly1of2 (even_nat x0) (even_nat (ordsucc x0)))
L3448
Axiom. (even_nat_or_odd_nat) We take the following as an axiom:
(∀x0, nat_p x0or (even_nat x0) (odd_nat x0))
L3450
Axiom. (not_odd_nat_0) We take the following as an axiom:
L3452
Axiom. (even_nat_odd_nat_S) We take the following as an axiom:
(∀x0, even_nat x0odd_nat (ordsucc x0))
L3454
Axiom. (odd_nat_even_nat_S) We take the following as an axiom:
(∀x0, odd_nat x0even_nat (ordsucc x0))
L3456
Axiom. (odd_nat_xor_odd_sum) We take the following as an axiom:
(∀x0, odd_nat x0(∀x1, nat_p x1exactly1of2 (odd_nat x1) (odd_nat (add_nat x0 x1))))
L3458
Axiom. (odd_nat_iff_odd_mul_nat) We take the following as an axiom:
(∀x0, odd_nat x0(∀x1, nat_p x1iff (odd_nat x1) (odd_nat (mul_nat x0 x1))))
L3460
Axiom. (odd_nat_mul_nat) We take the following as an axiom:
(∀x0 x1, odd_nat x0odd_nat x1odd_nat (mul_nat x0 x1))
L3462
Axiom. (add_nat_0_inv) We take the following as an axiom:
(∀x0, x0 omega(∀x1, x1 omegaadd_nat x0 x1 = 0and (x0 = 0) (x1 = 0)))
L3466
Axiom. (mul_nat_0_inv) We take the following as an axiom:
(∀x0, x0 omega(∀x1, x1 omegamul_nat x0 x1 = 0or (x0 = 0) (x1 = 0)))
L3470
Axiom. (form100_1_v1_lem) We take the following as an axiom:
(∀x0, nat_p x0(∀x1, nat_p x1mul_nat x0 x0 = mul_nat 2 (mul_nat x1 x1)x1 = 0))
L3474
Axiom. (form100_1_v1) We take the following as an axiom:
(∀x0, x0 setminus omega 1(∀x1, x1 setminus omega 1mul_nat x0 x0 = mul_nat 2 (mul_nat x1 x1)(∀x2 : prop, x2)))
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.
L3483
Axiom. (sqrt_2_irrational) We take the following as an axiom:
Beginning of Section Alg
L3489
Variable extension_tag : set
L3491
Let ctag : setsetλalpha ⇒ SetAdjoin alpha extension_tag
Notation. We use '' as a postfix operator with priority 100 corresponding to applying term ctag.
L3493
Definition. We define pair_tag to be λx y ⇒ x :\/: {u ''|uy} of type setsetset.
L3494
Variable F : setprop
L3496
Hypothesis extension_tag_fresh : ∀x, F x∀ux, extension_tag /:e u
L3498
Axiom. (ctagged_notin_F) We take the following as an axiom:
∀x y, F x(y '') /:e x
L3500
Axiom. (ctagged_eqE_Subq) We take the following as an axiom:
∀x y, F x∀ux, ∀v, u '' = v ''u v
L3502
Axiom. (ctagged_eqE_eq) We take the following as an axiom:
∀x y, F xF y∀ux, ∀vy, u '' = v ''u = v
L3504
Axiom. (pair_tag_prop_1_Subq) We take the following as an axiom:
∀x1 y1 x2 y2, F x1pair_tag x1 y1 = pair_tag x2 y2x1 x2
L3506
Axiom. (pair_tag_prop_1) We take the following as an axiom:
∀x1 y1 x2 y2, F x1F x2pair_tag x1 y1 = pair_tag x2 y2x1 = x2
L3508
Axiom. (pair_tag_prop_2_Subq) We take the following as an axiom:
∀x1 y1 x2 y2, F y1F x2F y2pair_tag x1 y1 = pair_tag x2 y2y1 y2
L3510
Axiom. (pair_tag_prop_2) We take the following as an axiom:
∀x1 y1 x2 y2, F x1F y1F x2F y2pair_tag x1 y1 = pair_tag x2 y2y1 = y2
L3512
Axiom. (pair_tag_0) We take the following as an axiom:
∀x, pair_tag x 0 = x
L3514
Definition. We define CD_carr to be λz ⇒ exists x, F x /\ exists y, F y /\ z = pair_tag x y of type setprop.
L3516
Axiom. (CD_carr_I) We take the following as an axiom:
∀x y, F xF yCD_carr (pair_tag x y)
L3518
Axiom. (CD_carr_E) We take the following as an axiom:
∀z, CD_carr z∀p : setprop, (∀x y, F xF yz = pair_tag x yp (pair_tag x y))p z
L3523
Axiom. (CD_carr_0ext) We take the following as an axiom:
F 0∀x, F xCD_carr x
L3525
Definition. We define CD_proj0 to be λz ⇒ Eps_i (λx ⇒ F x /\ exists y, F y /\ z = pair_tag x y) of type setset.
L3527
Definition. We define CD_proj1 to be λz ⇒ Eps_i (λy ⇒ F y /\ z = pair_tag (CD_proj0 z) y) of type setset.
L3528
Let proj0 ≝ CD_proj0
L3530
Let proj1 ≝ CD_proj1
L3531
Let pa : setsetsetpair_tag
L3532
Axiom. (CD_proj0_1) We take the following as an axiom:
∀z, CD_carr zF (proj0 z) /\ exists y, F y /\ z = pa (proj0 z) y
L3534
Axiom. (CD_proj0_2) We take the following as an axiom:
∀x y, F xF yproj0 (pa x y) = x
L3536
Axiom. (CD_proj1_1) We take the following as an axiom:
∀z, CD_carr zF (proj1 z) /\ z = pa (proj0 z) (proj1 z)
L3538
Axiom. (CD_proj1_2) We take the following as an axiom:
∀x y, F xF yproj1 (pa x y) = y
L3540
Axiom. (CD_proj0R) We take the following as an axiom:
∀z, CD_carr zF (proj0 z)
L3542
Axiom. (CD_proj1R) We take the following as an axiom:
∀z, CD_carr zF (proj1 z)
L3544
Axiom. (CD_proj0proj1_eta) We take the following as an axiom:
∀z, CD_carr zz = pa (proj0 z) (proj1 z)
L3546
Axiom. (CD_proj0proj1_split) We take the following as an axiom:
∀z w, CD_carr zCD_carr wproj0 z = proj0 wproj1 z = proj1 wz = w
L3548
Axiom. (CD_proj0_F) We take the following as an axiom:
F 0∀x, F xCD_proj0 x = x
L3550
Axiom. (CD_proj1_F) We take the following as an axiom:
F 0∀x, F xCD_proj1 x = 0
Beginning of Section CD_minus_conj
L3554
Variable minus : setset
L3557
Definition. We define CD_minus to be λz ⇒ pa (- proj0 z) (- proj1 z) of type setset.
L3561
Variable conj : setset
L3564
Definition. We define CD_conj to be λz ⇒ pa (conj (proj0 z)) (- proj1 z) of type setset.
End of Section CD_minus_conj
Beginning of Section CD_add
L3569
Variable add : setsetset
L3572
Definition. We define CD_add to be λz w ⇒ pa (proj0 z + proj0 w) (proj1 z + proj1 w) of type setsetset.
End of Section CD_add
Beginning of Section CD_mul
L3578
Variable minus : setset
L3580
Variable conj : setset
L3581
Variable add : setsetset
L3582
Variable mul : setsetset
L3587
Definition. We define CD_mul to be λz w ⇒ pa (proj0 z * proj0 w + - conj (proj1 w) * proj1 z) (proj1 w * proj0 z + proj1 z * conj (proj0 w)) of type setsetset.
L3590
Definition. We define CD_exp_nat to be λz m ⇒ nat_primrec 1 (λ_ r ⇒ z :*: r) m of type setsetset.
End of Section CD_mul
Beginning of Section CD_minus_conj_clos
L3596
Variable minus : setset
L3600
Hypothesis F_minus : ∀x, F xF (- x)
L3602
Axiom. (CD_minus_CD) We take the following as an axiom:
∀z, CD_carr zCD_carr (:-: z)
L3604
Axiom. (CD_minus_proj0) We take the following as an axiom:
∀z, CD_carr zproj0 (:-: z) = - proj0 z
L3606
Axiom. (CD_minus_proj1) We take the following as an axiom:
∀z, CD_carr zproj1 (:-: z) = - proj1 z
L3608
Variable conj : setset
L3611
Hypothesis F_conj : ∀x, F xF (conj x)
L3613
Axiom. (CD_conj_CD) We take the following as an axiom:
∀z, CD_carr zCD_carr (z ')
L3615
Axiom. (CD_conj_proj0) We take the following as an axiom:
∀z, CD_carr zproj0 (z ') = conj (proj0 z)
L3617
Axiom. (CD_conj_proj1) We take the following as an axiom:
∀z, CD_carr zproj1 (z ') = - proj1 z
End of Section CD_minus_conj_clos
Beginning of Section CD_add_clos
L3623
Variable add : setsetset
L3627
Hypothesis F_add : ∀x y, F xF yF (x + y)
L3629
Axiom. (CD_add_CD) We take the following as an axiom:
∀z w, CD_carr zCD_carr wCD_carr (z :+: w)
L3631
Axiom. (CD_add_proj0) We take the following as an axiom:
∀z w, CD_carr zCD_carr wproj0 (z :+: w) = proj0 z + proj0 w
L3633
Axiom. (CD_add_proj1) We take the following as an axiom:
∀z w, CD_carr zCD_carr wproj1 (z :+: w) = proj1 z + proj1 w
End of Section CD_add_clos
Beginning of Section CD_mul_clos
L3639
Variable minus : setset
L3641
Variable conj : setset
L3642
Variable add : setsetset
L3643
Variable mul : setsetset
L3653
Hypothesis F_minus : ∀x, F xF (- x)
L3655
Hypothesis F_conj : ∀x, F xF (conj x)
L3656
Hypothesis F_add : ∀x y, F xF yF (x + y)
L3657
Hypothesis F_mul : ∀x y, F xF yF (x * y)
L3658
Axiom. (CD_mul_CD) We take the following as an axiom:
∀z w, CD_carr zCD_carr wCD_carr (z :*: w)
L3660
Axiom. (CD_mul_proj0) We take the following as an axiom:
∀z w, CD_carr zCD_carr wproj0 (z :*: w) = proj0 z * proj0 w + - conj (proj1 w) * proj1 z
L3662
Axiom. (CD_mul_proj1) We take the following as an axiom:
∀z w, CD_carr zCD_carr wproj1 (z :*: w) = proj1 w * proj0 z + proj1 z * conj (proj0 w)
End of Section CD_mul_clos
Beginning of Section CD_minus_conj_F
L3668
Variable minus : setset
L3672
Hypothesis F_0 : F 0
L3674
Hypothesis F_minus_0 : - 0 = 0
L3675
Axiom. (CD_minus_F_eq) We take the following as an axiom:
∀x, F x:-: x = - x
L3677
Variable conj : setset
L3680
Axiom. (CD_conj_F_eq) We take the following as an axiom:
∀x, F xx ' = conj x
End of Section CD_minus_conj_F
Beginning of Section CD_add_F
L3686
Variable add : setsetset
L3691
Hypothesis F_0 : F 0
L3693
Hypothesis F_add_0_0 : 0 + 0 = 0
L3694
Axiom. (CD_add_F_eq) We take the following as an axiom:
∀x y, F xF yx :+: y = x + y
End of Section CD_add_F
Beginning of Section CD_mul_F
L3700
Variable minus : setset
L3702
Variable conj : setset
L3703
Variable add : setsetset
L3704
Variable mul : setsetset
L3714
Hypothesis F_0 : F 0
L3716
Hypothesis F_conj : ∀x, F xF (conj x)
L3717
Hypothesis F_mul : ∀x y, F xF yF (x * y)
L3718
Hypothesis F_minus_0 : - 0 = 0
L3719
Hypothesis F_add_0R : ∀x, F xx + 0 = x
L3720
Hypothesis F_mul_0L : ∀x, F x0 * x = 0
L3721
Hypothesis F_mul_0R : ∀x, F xx * 0 = 0
L3722
Axiom. (CD_mul_F_eq) We take the following as an axiom:
∀x y, F xF yx :*: y = x * y
End of Section CD_mul_F
Beginning of Section CD_minus_invol
L3728
Variable minus : setset
L3732
Hypothesis F_minus : ∀x, F xF (- x)
L3734
Hypothesis F_minus_invol : ∀x, F x- - x = x
L3735
Axiom. (CD_minus_invol) We take the following as an axiom:
∀z, CD_carr z:-: :-: z = z
End of Section CD_minus_invol
Beginning of Section CD_conj_invol
L3741
Variable minus : setset
L3743
Variable conj : setset
L3748
Hypothesis F_minus : ∀x, F xF (- x)
L3750
Hypothesis F_conj : ∀x, F xF (conj x)
L3751
Hypothesis F_minus_invol : ∀x, F x- - x = x
L3752
Hypothesis F_conj_invol : ∀x, F xconj (conj x) = x
L3753
Axiom. (CD_conj_invol) We take the following as an axiom:
∀z, CD_carr zz ' ' = z
End of Section CD_conj_invol
Beginning of Section CD_conj_minus
L3759
Variable minus : setset
L3761
Variable conj : setset
L3766
Hypothesis F_minus : ∀x, F xF (- x)
L3768
Hypothesis F_conj : ∀x, F xF (conj x)
L3769
Hypothesis F_conj_minus : ∀x, F xconj (- x) = - conj x
L3770
Axiom. (CD_conj_minus) We take the following as an axiom:
∀z, CD_carr z(:-: z) ' = :-: (z ')
End of Section CD_conj_minus
Beginning of Section CD_minus_add
L3776
Variable minus : setset
L3778
Variable add : setsetset
L3785
Hypothesis F_minus : ∀x, F xF (- x)
L3787
Hypothesis F_add : ∀x y, F xF yF (x + y)
L3788
Hypothesis F_minus_add : ∀x y, F xF y- (x + y) = - x + - y
L3789
Axiom. (CD_minus_add) We take the following as an axiom:
∀z w, CD_carr zCD_carr w:-: (z :+: w) = :-: z :+: :-: w
End of Section CD_minus_add
Beginning of Section CD_conj_add
L3795
Variable minus : setset
L3797
Variable conj : setset
L3798
Variable add : setsetset
L3806
Hypothesis F_minus : ∀x, F xF (- x)
L3808
Hypothesis F_conj : ∀x, F xF (conj x)
L3809
Hypothesis F_add : ∀x y, F xF yF (x + y)
L3810
Hypothesis F_minus_add : ∀x y, F xF y- (x + y) = - x + - y
L3811
Hypothesis F_conj_add : ∀x y, F xF yconj (x + y) = conj x + conj y
L3812
Axiom. (CD_conj_add) We take the following as an axiom:
∀z w, CD_carr zCD_carr w(z :+: w) ' = z ' :+: w '
End of Section CD_conj_add
Beginning of Section CD_add_com
L3818
Variable add : setsetset
L3822
Hypothesis F_add_com : ∀x y, F xF yx + y = y + x
L3824
Axiom. (CD_add_com) We take the following as an axiom:
∀z w, CD_carr zCD_carr wz :+: w = w :+: z
End of Section CD_add_com
Beginning of Section CD_add_assoc
L3830
Variable add : setsetset
L3834
Hypothesis F_add : ∀x y, F xF yF (x + y)
L3836
Hypothesis F_add_assoc : ∀x y z, F xF yF z(x + y) + z = x + (y + z)
L3837
Axiom. (CD_add_assoc) We take the following as an axiom:
∀z w u, CD_carr zCD_carr wCD_carr u(z :+: w) :+: u = z :+: (w :+: u)
End of Section CD_add_assoc
Beginning of Section CD_add_0R
L3843
Variable add : setsetset
L3847
Hypothesis F_0 : F 0
L3849
Hypothesis F_add_0R : ∀x, F xx + 0 = x
L3850
Axiom. (CD_add_0R) We take the following as an axiom:
∀z, CD_carr zz :+: 0 = z
End of Section CD_add_0R
Beginning of Section CD_add_0L
L3856
Variable add : setsetset
L3860
Hypothesis F_0 : F 0
L3862
Hypothesis F_add_0L : ∀x, F x0 + x = x
L3863
Axiom. (CD_add_0L) We take the following as an axiom:
∀z, CD_carr z0 :+: z = z
End of Section CD_add_0L
Beginning of Section CD_add_minus_linv
L3869
Variable minus : setset
L3871
Variable add : setsetset
L3876
Hypothesis F_minus : ∀x, F xF (- x)
L3878
Hypothesis F_add_minus_linv : ∀x, F x- x + x = 0
L3879
Axiom. (CD_add_minus_linv) We take the following as an axiom:
∀z, CD_carr z:-: z :+: z = 0
End of Section CD_add_minus_linv
Beginning of Section CD_add_minus_rinv
L3885
Variable minus : setset
L3887
Variable add : setsetset
L3892
Hypothesis F_minus : ∀x, F xF (- x)
L3894
Hypothesis F_add_minus_rinv : ∀x, F xx + - x = 0
L3895
Axiom. (CD_add_minus_rinv) We take the following as an axiom:
∀z, CD_carr zz :+: :-: z = 0
End of Section CD_add_minus_rinv
Beginning of Section CD_mul_0R
L3901
Variable minus : setset
L3903
Variable conj : setset
L3904
Variable add : setsetset
L3905
Variable mul : setsetset
L3914
Hypothesis F_0 : F 0
L3916
Hypothesis F_minus_0 : - 0 = 0
L3917
Hypothesis F_conj_0 : conj 0 = 0
L3918
Hypothesis F_add_0_0 : 0 + 0 = 0
L3919
Hypothesis F_mul_0L : ∀x, F x0 * x = 0
L3920
Hypothesis F_mul_0R : ∀x, F xx * 0 = 0
L3921
Axiom. (CD_mul_0R) We take the following as an axiom:
∀z, CD_carr zz :*: 0 = 0
End of Section CD_mul_0R
Beginning of Section CD_mul_0L
L3927
Variable minus : setset
L3929
Variable conj : setset
L3930
Variable add : setsetset
L3931
Variable mul : setsetset
L3940
Hypothesis F_0 : F 0
L3942
Hypothesis F_conj : ∀x, F xF (conj x)
L3943
Hypothesis F_minus_0 : - 0 = 0
L3944
Hypothesis F_add_0_0 : 0 + 0 = 0
L3945
Hypothesis F_mul_0L : ∀x, F x0 * x = 0
L3946
Hypothesis F_mul_0R : ∀x, F xx * 0 = 0
L3947
Axiom. (CD_mul_0L) We take the following as an axiom:
∀z, CD_carr z0 :*: z = 0
End of Section CD_mul_0L
Beginning of Section CD_mul_1R
L3953
Variable minus : setset
L3955
Variable conj : setset
L3956
Variable add : setsetset
L3957
Variable mul : setsetset
L3966
Hypothesis F_0 : F 0
L3968
Hypothesis F_1 : F 1
L3969
Hypothesis F_minus_0 : - 0 = 0
L3970
Hypothesis F_conj_0 : conj 0 = 0
L3971
Hypothesis F_conj_1 : conj 1 = 1
L3972
Hypothesis F_add_0L : ∀x, F x0 + x = x
L3973
Hypothesis F_add_0R : ∀x, F xx + 0 = x
L3974
Hypothesis F_mul_0L : ∀x, F x0 * x = 0
L3975
Hypothesis F_mul_1R : ∀x, F xx * 1 = x
L3976
Axiom. (CD_mul_1R) We take the following as an axiom:
∀z, CD_carr zz :*: 1 = z
End of Section CD_mul_1R
Beginning of Section CD_mul_1L
L3982
Variable minus : setset
L3984
Variable conj : setset
L3985
Variable add : setsetset
L3986
Variable mul : setsetset
L3995
Hypothesis F_0 : F 0
L3997
Hypothesis F_1 : F 1
L3998
Hypothesis F_conj : ∀x, F xF (conj x)
L3999
Hypothesis F_minus_0 : - 0 = 0
L4000
Hypothesis F_add_0R : ∀x, F xx + 0 = x
L4001
Hypothesis F_mul_0L : ∀x, F x0 * x = 0
L4002
Hypothesis F_mul_0R : ∀x, F xx * 0 = 0
L4003
Hypothesis F_mul_1L : ∀x, F x1 * x = x
L4004
Hypothesis F_mul_1R : ∀x, F xx * 1 = x
L4005
Axiom. (CD_mul_1L) We take the following as an axiom:
∀z, CD_carr z1 :*: z = z
End of Section CD_mul_1L
Beginning of Section CD_conj_mul
L4011
Variable minus : setset
L4013
Variable conj : setset
L4014
Variable add : setsetset
L4015
Variable mul : setsetset
L4024
Hypothesis F_minus : ∀x, F xF (- x)
L4026
Hypothesis F_conj : ∀x, F xF (conj x)
L4027
Hypothesis F_add : ∀x y, F xF yF (x + y)
L4028
Hypothesis F_mul : ∀x y, F xF yF (x * y)
L4029
Hypothesis F_minus_invol : ∀x, F x- - x = x
L4030
Hypothesis F_conj_invol : ∀x, F xconj (conj x) = x
L4031
Hypothesis F_conj_minus : ∀x, F xconj (- x) = - conj x
L4032
Hypothesis F_conj_add : ∀x y, F xF yconj (x + y) = conj x + conj y
L4033
Hypothesis F_minus_add : ∀x y, F xF y- (x + y) = - x + - y
L4034
Hypothesis F_add_com : ∀x y, F xF yx + y = y + x
L4035
Hypothesis F_conj_mul : ∀x y, F xF yconj (x * y) = conj y * conj x
L4036
Hypothesis F_minus_mul_distrR : ∀x y, F xF yx * (- y) = - (x * y)
L4037
Hypothesis F_minus_mul_distrL : ∀x y, F xF y(- x) * y = - (x * y)
L4038
Axiom. (CD_conj_mul) We take the following as an axiom:
∀z w, CD_carr zCD_carr w(z :*: w) ' = w ' :*: z '
End of Section CD_conj_mul
Beginning of Section CD_add_mul_distrR
L4044
Variable minus : setset
L4046
Variable conj : setset
L4047
Variable add : setsetset
L4048
Variable mul : setsetset
L4057
Hypothesis F_minus : ∀x, F xF (- x)
L4059
Hypothesis F_conj : ∀x, F xF (conj x)
L4060
Hypothesis F_add : ∀x y, F xF yF (x + y)
L4061
Hypothesis F_mul : ∀x y, F xF yF (x * y)
L4062
Hypothesis F_minus_add : ∀x y, F xF y- (x + y) = - x + - y
L4063
Hypothesis F_add_assoc : ∀x y z, F xF yF z(x + y) + z = x + (y + z)
L4064
Hypothesis F_add_com : ∀x y, F xF yx + y = y + x
L4065
Hypothesis F_add_mul_distrL : ∀x y z, F xF yF zx * (y + z) = x * y + x * z
L4066
Hypothesis F_add_mul_distrR : ∀x y z, F xF yF z(x + y) * z = x * z + y * z
L4067
Axiom. (CD_add_mul_distrR) We take the following as an axiom:
∀z w u, CD_carr zCD_carr wCD_carr u(z :+: w) :*: u = z :*: u :+: w :*: u
End of Section CD_add_mul_distrR
Beginning of Section CD_add_mul_distrL
L4073
Variable minus : setset
L4075
Variable conj : setset
L4076
Variable add : setsetset
L4077
Variable mul : setsetset
L4086
Hypothesis F_minus : ∀x, F xF (- x)
L4088
Hypothesis F_conj : ∀x, F xF (conj x)
L4089
Hypothesis F_add : ∀x y, F xF yF (x + y)
L4090
Hypothesis F_mul : ∀x y, F xF yF (x * y)
L4091
Hypothesis F_minus_add : ∀x y, F xF y- (x + y) = - x + - y
L4092
Hypothesis F_conj_add : ∀x y, F xF yconj (x + y) = conj x + conj y
L4093
Hypothesis F_add_assoc : ∀x y z, F xF yF z(x + y) + z = x + (y + z)
L4094
Hypothesis F_add_com : ∀x y, F xF yx + y = y + x
L4095
Hypothesis F_add_mul_distrL : ∀x y z, F xF yF zx * (y + z) = x * y + x * z
L4096
Hypothesis F_add_mul_distrR : ∀x y z, F xF yF z(x + y) * z = x * z + y * z
L4097
Axiom. (CD_add_mul_distrL) We take the following as an axiom:
∀z w u, CD_carr zCD_carr wCD_carr uz :*: (w :+: u) = z :*: w :+: z :*: u
End of Section CD_add_mul_distrL
Beginning of Section CD_minus_mul_distrR
L4103
Variable minus : setset
L4105
Variable conj : setset
L4106
Variable add : setsetset
L4107
Variable mul : setsetset
L4116
Hypothesis F_minus : ∀x, F xF (- x)
L4118
Hypothesis F_conj : ∀x, F xF (conj x)
L4119
Hypothesis F_add : ∀x y, F xF yF (x + y)
L4120
Hypothesis F_mul : ∀x y, F xF yF (x * y)
L4121
Hypothesis F_conj_minus : ∀x, F xconj (- x) = - conj x
L4122
Hypothesis F_minus_add : ∀x y, F xF y- (x + y) = - x + - y
L4123
Hypothesis F_minus_mul_distrR : ∀x y, F xF yx * (- y) = - (x * y)
L4124
Hypothesis F_minus_mul_distrL : ∀x y, F xF y(- x) * y = - (x * y)
L4125
Axiom. (CD_minus_mul_distrR) We take the following as an axiom:
∀z w, CD_carr zCD_carr wz :*: (:-: w) = :-: z :*: w
End of Section CD_minus_mul_distrR
Beginning of Section CD_minus_mul_distrL
L4131
Variable minus : setset
L4133
Variable conj : setset
L4134
Variable add : setsetset
L4135
Variable mul : setsetset
L4144
Hypothesis F_minus : ∀x, F xF (- x)
L4146
Hypothesis F_conj : ∀x, F xF (conj x)
L4147
Hypothesis F_add : ∀x y, F xF yF (x + y)
L4148
Hypothesis F_mul : ∀x y, F xF yF (x * y)
L4149
Hypothesis F_minus_add : ∀x y, F xF y- (x + y) = - x + - y
L4150
Hypothesis F_minus_mul_distrR : ∀x y, F xF yx * (- y) = - (x * y)
L4151
Hypothesis F_minus_mul_distrL : ∀x y, F xF y(- x) * y = - (x * y)
L4152
Axiom. (CD_minus_mul_distrL) We take the following as an axiom:
∀z w, CD_carr zCD_carr w(:-: z) :*: w = :-: z :*: w
End of Section CD_minus_mul_distrL
Beginning of Section CD_exp_nat
L4158
Variable minus : setset
L4160
Variable conj : setset
L4161
Variable add : setsetset
L4162
Variable mul : setsetset
L4174
Axiom. (CD_exp_nat_0) We take the following as an axiom:
∀z, z ^ 0 = 1
L4176
Axiom. (CD_exp_nat_S) We take the following as an axiom:
∀z n, nat_p nz ^ (ordsucc n) = z :*: z ^ n
Beginning of Section CD_exp_nat_1_2
L4180
Hypothesis F_0 : F 0
L4182
Hypothesis F_1 : F 1
L4183
Hypothesis F_minus_0 : - 0 = 0
L4184
Hypothesis F_conj_0 : conj 0 = 0
L4185
Hypothesis F_conj_1 : conj 1 = 1
L4186
Hypothesis F_add_0L : ∀x, F x0 + x = x
L4187
Hypothesis F_add_0R : ∀x, F xx + 0 = x
L4188
Hypothesis F_mul_0L : ∀x, F x0 * x = 0
L4189
Hypothesis F_mul_1R : ∀x, F xx * 1 = x
L4190
Axiom. (CD_exp_nat_1) We take the following as an axiom:
∀z, CD_carr zz ^ 1 = z
L4192
Axiom. (CD_exp_nat_2) We take the following as an axiom:
∀z, CD_carr zz ^ 2 = z :*: z
End of Section CD_exp_nat_1_2
L4196
Hypothesis F_minus : ∀x, F xF (- x)
L4198
Hypothesis F_conj : ∀x, F xF (conj x)
L4199
Hypothesis F_add : ∀x y, F xF yF (x + y)
L4200
Hypothesis F_mul : ∀x y, F xF yF (x * y)
L4201
Hypothesis F_0 : F 0
L4203
Hypothesis F_1 : F 1
L4204
Axiom. (CD_exp_nat_CD) We take the following as an axiom:
∀z, CD_carr z∀n, nat_p nCD_carr (z ^ n)
End of Section CD_exp_nat
End of Section Alg
Beginning of Section Tags
L4214
Variable tagn : set
L4216
Hypothesis tagn_nat : nat_p tagn
L4217
Hypothesis tagn_1 : 1 tagn
L4218
Axiom. (not_TransSet_Sing_tagn) We take the following as an axiom:
L4220
Axiom. (not_ordinal_Sing_tagn) We take the following as an axiom:
End of Section Tags
Beginning of Section ExtendedSNo
L4226
Let tag : setsetλalpha ⇒ SetAdjoin alpha {1}
Notation. We use ' as a postfix operator with priority 100 corresponding to applying term tag.
L4229
Definition. We define ExtendedSNoElt_ to be λn x ⇒ ∀vUnion x, ordinal v \/ exists in, v = {i} of type setsetprop.
L4231
Axiom. (extension_SNoElt_mon) We take the following as an axiom:
∀M N, M N∀x, ExtendedSNoElt_ M xExtendedSNoElt_ N x
L4233
Axiom. (Sing_nat_fresh_extension) We take the following as an axiom:
∀n, nat_p n1 n∀x, ExtendedSNoElt_ n x∀ux, {n} /:e u
L4235
Axiom. (SNo_ExtendedSNoElt_2) We take the following as an axiom:
∀x, SNo xExtendedSNoElt_ 2 x
End of Section ExtendedSNo
Beginning of Section SurComplex
L4241
Let tag : setsetλalpha ⇒ SetAdjoin alpha {1}
Notation. We use ' as a postfix operator with priority 100 corresponding to applying term tag.
L4244
Axiom. (complex_tag_fresh) We take the following as an axiom:
∀x, SNo x∀ux, {2} /:e u
L4246
Definition. We define SNo_pair to be pair_tag {2} of type setsetset.
L4248
Axiom. (SNo_pair_0) We take the following as an axiom:
∀x, SNo_pair x 0 = x
L4250
Axiom. (SNo_pair_prop_1) We take the following as an axiom:
∀x1 y1 x2 y2, SNo x1SNo x2SNo_pair x1 y1 = SNo_pair x2 y2x1 = x2
L4252
Axiom. (SNo_pair_prop_2) We take the following as an axiom:
∀x1 y1 x2 y2, SNo x1SNo y1SNo x2SNo y2SNo_pair x1 y1 = SNo_pair x2 y2y1 = y2
L4254
Definition. We define CSNo to be CD_carr {2} SNo of type setprop.
L4256
Axiom. (CSNo_I) We take the following as an axiom:
∀x y, SNo xSNo yCSNo (SNo_pair x y)
L4258
Axiom. (CSNo_E) We take the following as an axiom:
∀z, CSNo z∀p : setprop, (∀x y, SNo xSNo yz = SNo_pair x yp (SNo_pair x y))p z
L4263
Axiom. (SNo_CSNo) We take the following as an axiom:
∀x, SNo xCSNo x
L4265
Axiom. (CSNo_0) We take the following as an axiom:
L4267
Axiom. (CSNo_1) We take the following as an axiom:
L4269
Let ctag : setsetλalpha ⇒ SetAdjoin alpha {2}
Notation. We use '' as a postfix operator with priority 100 corresponding to applying term ctag.
L4272
Axiom. (CSNo_ExtendedSNoElt_3) We take the following as an axiom:
∀z, CSNo zExtendedSNoElt_ 3 z
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.
L4280
L4282
Definition. We define CSNo_Re to be CD_proj0 {2} SNo of type setset.
L4283
Definition. We define CSNo_Im to be CD_proj1 {2} SNo of type setset.
L4284
Let i ≝ Complex_i
L4286
Let Re : setsetCSNo_Re
L4287
Let Im : setsetCSNo_Im
L4288
Let pa : setsetsetSNo_pair
L4289
Axiom. (CSNo_Re1) We take the following as an axiom:
∀z, CSNo zSNo (Re z) /\ exists y, SNo y /\ z = pa (Re z) y
L4291
Axiom. (CSNo_Re2) We take the following as an axiom:
∀x y, SNo xSNo yRe (pa x y) = x
L4293
Axiom. (CSNo_Im1) We take the following as an axiom:
∀z, CSNo zSNo (Im z) /\ z = pa (Re z) (Im z)
L4295
Axiom. (CSNo_Im2) We take the following as an axiom:
∀x y, SNo xSNo yIm (pa x y) = y
L4297
Axiom. (CSNo_ReR) We take the following as an axiom:
∀z, CSNo zSNo (Re z)
L4299
Axiom. (CSNo_ImR) We take the following as an axiom:
∀z, CSNo zSNo (Im z)
L4301
Axiom. (CSNo_ReIm) We take the following as an axiom:
∀z, CSNo zz = pa (Re z) (Im z)
L4303
Axiom. (CSNo_ReIm_split) We take the following as an axiom:
∀z w, CSNo zCSNo wRe z = Re wIm z = Im wz = w
L4305
Definition. We define CSNoLev to be λz ⇒ SNoLev (Re z) :\/: SNoLev (Im z) of type setset.
L4307
Axiom. (CSNoLev_ordinal) We take the following as an axiom:
∀z, CSNo zordinal (CSNoLev z)
L4309
Let conj : setsetλx ⇒ x
L4311
L4313
Definition. We define conj_CSNo to be CD_conj {2} SNo minus_SNo conj of type setset.
L4314
Definition. We define add_CSNo to be CD_add {2} SNo add_SNo of type setsetset.
L4315
Definition. We define mul_CSNo to be CD_mul {2} SNo minus_SNo conj add_SNo mul_SNo of type setsetset.
L4316
L4317
Definition. We define abs_sqr_CSNo to be λz ⇒ Re z ^ 2 + Im z ^ 2 of type setset.
L4319
Definition. We define recip_CSNo to be λz ⇒ pa (Re z :/: abs_sqr_CSNo z) (- (Im z :/: abs_sqr_CSNo z)) of type setset.
L4321
Let plus' ≝ add_CSNo
L4323
Let mult' ≝ mul_CSNo
Notation. We use :-: as a prefix operator with priority 358 corresponding to applying term minus_CSNo.
Notation. We use ' as a postfix operator with priority 100 corresponding to applying term conj_CSNo.
Notation. We use :+: as an infix operator with priority 360 and which associates to the right corresponding to applying term add_CSNo.
Notation. We use :*: as an infix operator with priority 355 and which associates to the right corresponding to applying term mul_CSNo.
Notation. We use :^: as an infix operator with priority 355 and which associates to the right corresponding to applying term exp_CSNo_nat.
L4330
Definition. We define div_CSNo to be λz w ⇒ z :*: recip_CSNo w of type setsetset.
L4332
Axiom. (CSNo_Complex_i) We take the following as an axiom:
L4334
Axiom. (CSNo_minus_CSNo) We take the following as an axiom:
∀z, CSNo zCSNo (minus_CSNo z)
L4336
Axiom. (minus_CSNo_CRe) We take the following as an axiom:
∀z, CSNo zRe (:-: z) = - Re z
L4338
Axiom. (minus_CSNo_CIm) We take the following as an axiom:
∀z, CSNo zIm (:-: z) = - Im z
L4340
Axiom. (CSNo_conj_CSNo) We take the following as an axiom:
∀z, CSNo zCSNo (conj_CSNo z)
L4342
Axiom. (conj_CSNo_CRe) We take the following as an axiom:
∀z, CSNo zRe (z ') = Re z
L4344
Axiom. (conj_CSNo_CIm) We take the following as an axiom:
∀z, CSNo zIm (z ') = - Im z
L4346
Axiom. (CSNo_add_CSNo) We take the following as an axiom:
∀z w, CSNo zCSNo wCSNo (add_CSNo z w)
L4348
Axiom. (CSNo_add_CSNo_3) We take the following as an axiom:
∀z w v, CSNo zCSNo wCSNo vCSNo (z :+: w :+: v)
L4350
Axiom. (add_CSNo_CRe) We take the following as an axiom:
∀z w, CSNo zCSNo wRe (plus' z w) = Re z + Re w
L4352
Axiom. (add_CSNo_CIm) We take the following as an axiom:
∀z w, CSNo zCSNo wIm (plus' z w) = Im z + Im w
L4354
Axiom. (CSNo_mul_CSNo) We take the following as an axiom:
∀z w, CSNo zCSNo wCSNo (z :*: w)
L4356
Axiom. (CSNo_mul_CSNo_3) We take the following as an axiom:
∀z w v, CSNo zCSNo wCSNo vCSNo (z :*: w :*: v)
L4358
Axiom. (mul_CSNo_CRe) We take the following as an axiom:
∀z w, CSNo zCSNo wRe (mult' z w) = Re z * Re w + - (Im w * Im z)
L4360
Axiom. (mul_CSNo_CIm) We take the following as an axiom:
∀z w, CSNo zCSNo wIm (mult' z w) = Im w * Re z + Im z * Re w
L4362
Axiom. (SNo_Re) We take the following as an axiom:
∀x, SNo xRe x = x
L4364
Axiom. (SNo_Im) We take the following as an axiom:
∀x, SNo xIm x = 0
L4366
Axiom. (Re_0) We take the following as an axiom:
Re 0 = 0
L4368
Axiom. (Im_0) We take the following as an axiom:
Im 0 = 0
L4370
Axiom. (Re_1) We take the following as an axiom:
Re 1 = 1
L4372
Axiom. (Im_1) We take the following as an axiom:
Im 1 = 0
L4374
Axiom. (Re_i) We take the following as an axiom:
Re i = 0
L4376
Axiom. (Im_i) We take the following as an axiom:
Im i = 1
L4378
Axiom. (conj_CSNo_id_SNo) We take the following as an axiom:
∀x, SNo xx ' = x
L4380
Axiom. (conj_CSNo_0) We take the following as an axiom:
0 ' = 0
L4382
Axiom. (conj_CSNo_1) We take the following as an axiom:
1 ' = 1
L4384
Axiom. (conj_CSNo_i) We take the following as an axiom:
i ' = :-: i
L4386
Axiom. (minus_CSNo_minus_SNo) We take the following as an axiom:
∀x, SNo x:-: x = - x
L4388
Axiom. (minus_CSNo_0) We take the following as an axiom:
L4390
Axiom. (add_CSNo_add_SNo) We take the following as an axiom:
∀x y, SNo xSNo yx :+: y = x + y
L4392
Axiom. (mul_CSNo_mul_SNo) We take the following as an axiom:
∀x y, SNo xSNo yx :*: y = x * y
L4394
Axiom. (minus_CSNo_invol) We take the following as an axiom:
∀z, CSNo z:-: :-: z = z
L4396
Axiom. (conj_CSNo_invol) We take the following as an axiom:
∀z, CSNo zz ' ' = z
L4398
Axiom. (conj_minus_CSNo) We take the following as an axiom:
∀z, CSNo z(:-: z) ' = :-: (z ')
L4400
Axiom. (minus_add_CSNo) We take the following as an axiom:
∀z w, CSNo zCSNo w:-: (z :+: w) = :-: z :+: :-: w
L4402
Axiom. (conj_add_CSNo) We take the following as an axiom:
∀z w, CSNo zCSNo w(z :+: w) ' = z ' :+: w '
L4404
Axiom. (add_CSNo_com) We take the following as an axiom:
∀z w, CSNo zCSNo wz :+: w = w :+: z
L4406
Axiom. (add_CSNo_assoc) We take the following as an axiom:
∀z w v, CSNo zCSNo wCSNo v(z :+: w) :+: v = z :+: (w :+: v)
L4408
Axiom. (add_CSNo_0L) We take the following as an axiom:
∀z, CSNo zadd_CSNo 0 z = z
L4410
Axiom. (add_CSNo_0R) We take the following as an axiom:
∀z, CSNo zadd_CSNo z 0 = z
L4412
Axiom. (add_CSNo_minus_CSNo_linv) We take the following as an axiom:
∀z, CSNo zadd_CSNo (minus_CSNo z) z = 0
L4414
Axiom. (add_CSNo_minus_CSNo_rinv) We take the following as an axiom:
∀z, CSNo zadd_CSNo z (minus_CSNo z) = 0
L4416
Axiom. (mul_CSNo_0R) We take the following as an axiom:
∀z, CSNo zz :*: 0 = 0
L4418
Axiom. (mul_CSNo_0L) We take the following as an axiom:
∀z, CSNo z0 :*: z = 0
L4420
Axiom. (mul_CSNo_1R) We take the following as an axiom:
∀z, CSNo zz :*: 1 = z
L4422
Axiom. (mul_CSNo_1L) We take the following as an axiom:
∀z, CSNo z1 :*: z = z
L4424
Axiom. (conj_mul_CSNo) We take the following as an axiom:
∀z w, CSNo zCSNo w(z :*: w) ' = w ' :*: z '
L4426
Axiom. (mul_CSNo_distrL) We take the following as an axiom:
∀z w u, CSNo zCSNo wCSNo uz :*: (w :+: u) = z :*: w :+: z :*: u
L4428
Axiom. (mul_CSNo_distrR) We take the following as an axiom:
∀z w u, CSNo zCSNo wCSNo u(z :+: w) :*: u = z :*: u :+: w :*: u
L4430
Axiom. (minus_mul_CSNo_distrR) We take the following as an axiom:
∀z w, CSNo zCSNo wz :*: (:-: w) = :-: z :*: w
L4432
Axiom. (minus_mul_CSNo_distrL) We take the following as an axiom:
∀z w, CSNo zCSNo w(:-: z) :*: w = :-: z :*: w
L4434
Axiom. (exp_CSNo_nat_0) We take the following as an axiom:
∀z, z :^: 0 = 1
L4436
Axiom. (exp_CSNo_nat_S) We take the following as an axiom:
∀z n, nat_p nz :^: (ordsucc n) = z :*: z :^: n
L4438
Axiom. (exp_CSNo_nat_1) We take the following as an axiom:
∀z, CSNo zz :^: 1 = z
L4440
Axiom. (exp_CSNo_nat_2) We take the following as an axiom:
∀z, CSNo zz :^: 2 = z :*: z
L4442
Axiom. (CSNo_exp_CSNo_nat) We take the following as an axiom:
∀z, CSNo z∀n, nat_p nCSNo (z :^: n)
L4444
Axiom. (add_SNo_rotate_4_0312) We take the following as an axiom:
∀x y z w, SNo xSNo ySNo zSNo w(x + y) + (z + w) = (x + w) + (y + z)
L4446
Axiom. (mul_CSNo_com) We take the following as an axiom:
∀z w, CSNo zCSNo wz :*: w = w :*: z
L4448
Axiom. (mul_CSNo_assoc) We take the following as an axiom:
∀z w v, CSNo zCSNo wCSNo vz :*: (w :*: v) = (z :*: w) :*: v
L4450
Axiom. (Complex_i_sqr) We take the following as an axiom:
i :*: i = :-: 1
L4452
Axiom. (SNo_abs_sqr_CSNo) We take the following as an axiom:
∀z, CSNo zSNo (abs_sqr_CSNo z)
L4454
Axiom. (abs_sqr_CSNo_nonneg) We take the following as an axiom:
∀z, CSNo z0 <= abs_sqr_CSNo z
L4456
Axiom. (abs_sqr_CSNo_zero) We take the following as an axiom:
∀z, CSNo zabs_sqr_CSNo z = 0z = 0
L4458
Axiom. (CSNo_recip_CSNo) We take the following as an axiom:
∀z, CSNo zCSNo (recip_CSNo z)
L4460
Axiom. (CSNo_relative_recip) We take the following as an axiom:
∀z, CSNo z∀u, SNo u(Re z ^ 2 + Im z ^ 2) * u = 1z :*: (u :*: Re z :+: :-: i :*: u :*: Im z) = 1
L4462
Axiom. (recip_CSNo_invR) We take the following as an axiom:
∀z, CSNo zz <> 0z :*: recip_CSNo z = 1
L4464
Axiom. (recip_CSNo_invL) We take the following as an axiom:
∀z, CSNo zz <> 0recip_CSNo z :*: z = 1
L4466
Axiom. (CSNo_div_CSNo) We take the following as an axiom:
∀z w, CSNo zCSNo wCSNo (div_CSNo z w)
L4468
Axiom. (mul_div_CSNo_invL) We take the following as an axiom:
∀z w, CSNo zCSNo ww <> 0(div_CSNo z w) :*: w = z
L4470
Axiom. (mul_div_CSNo_invR) We take the following as an axiom:
∀z w, CSNo zCSNo ww <> 0w :*: (div_CSNo z w) = z
L4472
Axiom. (sqrt_SNo_nonneg_sqr_id) We take the following as an axiom:
∀x, SNo x0 <= xsqrt_SNo_nonneg (x ^ 2) = x
L4474
Axiom. (sqrt_SNo_nonneg_mon_strict) We take the following as an axiom:
∀x y, SNo xSNo y0 <= xx < ysqrt_SNo_nonneg x < sqrt_SNo_nonneg y
L4476
Axiom. (sqrt_SNo_nonneg_mon) We take the following as an axiom:
∀x y, SNo xSNo y0 <= xx <= ysqrt_SNo_nonneg x <= sqrt_SNo_nonneg y
L4478
Axiom. (sqrt_SNo_nonneg_mul_SNo) We take the following as an axiom:
∀x y, SNo xSNo y0 <= x0 <= ysqrt_SNo_nonneg (x * y) = sqrt_SNo_nonneg x * sqrt_SNo_nonneg y
L4480
Definition. We define modulus_CSNo to be λz ⇒ sqrt_SNo_nonneg (abs_sqr_CSNo z) of type setset.
L4482
Axiom. (SNo_modulus_CSNo) We take the following as an axiom:
∀z, CSNo zSNo (modulus_CSNo z)
L4484
Axiom. (modulus_CSNo_nonneg) We take the following as an axiom:
∀z, CSNo z0 <= modulus_CSNo z
L4486
Definition. We define sqrt_CSNo to be λz ⇒ if Im z < 0 \/ Im z = 0 /\ Re z < 0 then pa (sqrt_SNo_nonneg (eps_ 1 * (Re z + modulus_CSNo z))) (- sqrt_SNo_nonneg (eps_ 1 * (- Re z + modulus_CSNo z))) else pa (sqrt_SNo_nonneg (eps_ 1 * (Re z + modulus_CSNo z))) (sqrt_SNo_nonneg (eps_ 1 * (- Re z + modulus_CSNo z))) of type setset.
L4494
Axiom. (sqrt_CSNo_sqrt) We take the following as an axiom:
∀z, CSNo zsqrt_CSNo z :^: 2 = z
End of Section SurComplex
Beginning of Section Complex
Notation. We use - as a prefix operator with priority 358 corresponding to applying term minus_CSNo.
Notation. We use + as an infix operator with priority 360 and which associates to the right corresponding to applying term add_CSNo.
Notation. We use * as an infix operator with priority 355 and which associates to the right corresponding to applying term mul_CSNo.
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.
L4507
Let i ≝ Complex_i
L4509
Let Re : setsetCSNo_Re
L4510
Let Im : setsetCSNo_Im
L4511
Let pa : setsetsetSNo_pair
L4512
Definition. We define complex to be {pa (u 0) (u 1)|ureal :*: real} of type set.
L4514
Axiom. (complex_I) We take the following as an axiom:
∀x yreal, pa x y complex
L4516
Axiom. (complex_E) We take the following as an axiom:
∀zcomplex, ∀p : prop, (∀x yreal, z = pa x yp)p
L4520
Axiom. (complex_CSNo) We take the following as an axiom:
L4522
Axiom. (real_complex) We take the following as an axiom:
L4524
Axiom. (complex_0) We take the following as an axiom:
L4526
Axiom. (complex_1) We take the following as an axiom:
L4528
Axiom. (complex_i) We take the following as an axiom:
L4530
Axiom. (complex_Re_eq) We take the following as an axiom:
∀x yreal, Re (pa x y) = x
L4532
Axiom. (complex_Im_eq) We take the following as an axiom:
∀x yreal, Im (pa x y) = y
L4534
Axiom. (complex_Re_real) We take the following as an axiom:
L4536
Axiom. (complex_Im_real) We take the following as an axiom:
L4538
Axiom. (complex_ReIm_split) We take the following as an axiom:
∀z wcomplex, Re z = Re wIm z = Im wz = w
L4540
Axiom. (complex_minus_CSNo) We take the following as an axiom:
L4542
Axiom. (complex_conj_CSNo) We take the following as an axiom:
L4544
Axiom. (complex_add_CSNo) We take the following as an axiom:
L4546
Axiom. (complex_mul_CSNo) We take the following as an axiom:
L4548
Axiom. (real_Re_eq) We take the following as an axiom:
∀xreal, Re x = x
L4550
Axiom. (real_Im_eq) We take the following as an axiom:
∀xreal, Im x = 0
L4552
Axiom. (mul_i_real_eq) We take the following as an axiom:
∀xreal, i * x = pa 0 x
L4554
Axiom. (real_Re_i_eq) We take the following as an axiom:
∀xreal, Re (i * x) = 0
L4556
Axiom. (real_Im_i_eq) We take the following as an axiom:
∀xreal, Im (i * x) = x
L4558
Axiom. (complex_eta) We take the following as an axiom:
∀zcomplex, z = Re z + i * Im z
Beginning of Section ComplexDiv
L4568
Axiom. (complex_recip_CSNo) We take the following as an axiom:
L4570
Axiom. (complex_div_CSNo) We take the following as an axiom:
End of Section ComplexDiv
L4574
Axiom. (complex_real_set_eq) We take the following as an axiom:
End of Section Complex
Beginning of Section SurQuaternions
L4581
Axiom. (quaternion_tag_fresh) We take the following as an axiom:
∀z, CSNo z∀uz, {3} /:e u
L4583
Definition. We define CSNo_pair to be pair_tag {3} of type setsetset.
L4585
Axiom. (CSNo_pair_0) We take the following as an axiom:
∀x, CSNo_pair x 0 = x
L4587
Axiom. (CSNo_pair_prop_1) We take the following as an axiom:
∀x1 y1 x2 y2, CSNo x1CSNo x2CSNo_pair x1 y1 = CSNo_pair x2 y2x1 = x2
L4589
Axiom. (CSNo_pair_prop_2) We take the following as an axiom:
∀x1 y1 x2 y2, CSNo x1CSNo y1CSNo x2CSNo y2CSNo_pair x1 y1 = CSNo_pair x2 y2y1 = y2
L4591
Definition. We define HSNo to be CD_carr {3} CSNo of type setprop.
L4593
Axiom. (HSNo_I) We take the following as an axiom:
∀x y, CSNo xCSNo yHSNo (CSNo_pair x y)
L4595
Axiom. (HSNo_E) We take the following as an axiom:
∀z, HSNo z∀p : setprop, (∀x y, CSNo xCSNo yz = CSNo_pair x yp (CSNo_pair x y))p z
L4600
Axiom. (CSNo_HSNo) We take the following as an axiom:
∀x, CSNo xHSNo x
L4602
Axiom. (HSNo_0) We take the following as an axiom:
L4604
Axiom. (HSNo_1) We take the following as an axiom:
L4606
Let ctag : setsetλalpha ⇒ SetAdjoin alpha {3}
Notation. We use '' as a postfix operator with priority 100 corresponding to applying term ctag.
L4609
Axiom. (HSNo_ExtendedSNoElt_4) We take the following as an axiom:
∀z, HSNo zExtendedSNoElt_ 4 z
Notation. We use - as a prefix operator with priority 358 corresponding to applying term minus_CSNo.
Notation. We use + as an infix operator with priority 360 and which associates to the right corresponding to applying term add_CSNo.
Notation. We use * as an infix operator with priority 355 and which associates to the right corresponding to applying term mul_CSNo.
Notation. We use :/: as an infix operator with priority 353 and no associativity corresponding to applying term div_CSNo.
Notation. We use ' as a postfix operator with priority 100 corresponding to applying term conj_CSNo.
L4617
Let i ≝ Complex_i
L4619
L4620
L4621
Let j ≝ Quaternion_j
L4623
Let k ≝ Quaternion_k
L4624
L4626
L4627
Let p0 : setsetHSNo_proj0
L4629
Let p1 : setsetHSNo_proj1
L4630
Let pa : setsetsetCSNo_pair
L4631
Axiom. (HSNo_proj0_1) We take the following as an axiom:
∀z, HSNo zCSNo (p0 z) /\ exists y, CSNo y /\ z = pa (p0 z) y
L4633
Axiom. (HSNo_proj0_2) We take the following as an axiom:
∀x y, CSNo xCSNo yp0 (pa x y) = x
L4635
Axiom. (HSNo_proj1_1) We take the following as an axiom:
∀z, HSNo zCSNo (p1 z) /\ z = pa (p0 z) (p1 z)
L4637
Axiom. (HSNo_proj1_2) We take the following as an axiom:
∀x y, CSNo xCSNo yp1 (pa x y) = y
L4639
Axiom. (HSNo_proj0R) We take the following as an axiom:
∀z, HSNo zCSNo (p0 z)
L4641
Axiom. (HSNo_proj1R) We take the following as an axiom:
∀z, HSNo zCSNo (p1 z)
L4643
Axiom. (HSNo_proj0p1) We take the following as an axiom:
∀z, HSNo zz = pa (p0 z) (p1 z)
L4645
Axiom. (HSNo_proj0proj1_split) We take the following as an axiom:
∀z w, HSNo zHSNo wp0 z = p0 wp1 z = p1 wz = w
L4647
Definition. We define HSNoLev to be λz ⇒ CSNoLev (p0 z) :\/: CSNoLev (p1 z) of type setset.
L4649
Axiom. (HSNoLev_ordinal) We take the following as an axiom:
∀z, HSNo zordinal (HSNoLev z)
L4651
L4653
L4654
Definition. We define add_HSNo to be CD_add {3} CSNo add_CSNo of type setsetset.
L4655
L4656
L4657
Let plus' ≝ add_HSNo
L4659
Let mult' ≝ mul_HSNo
Notation. We use :-: as a prefix operator with priority 358 corresponding to applying term minus_HSNo.
Notation. We use '' as a postfix operator with priority 100 corresponding to applying term conj_HSNo.
Notation. We use :+: as an infix operator with priority 360 and which associates to the right corresponding to applying term add_HSNo.
Notation. We use :*: as an infix operator with priority 355 and which associates to the right corresponding to applying term mul_HSNo.
Notation. We use :^: as an infix operator with priority 355 and which associates to the right corresponding to applying term exp_HSNo_nat.
L4666
Axiom. (HSNo_Complex_i) We take the following as an axiom:
L4668
Axiom. (HSNo_Quaternion_j) We take the following as an axiom:
L4670
Axiom. (HSNo_Quaternion_k) We take the following as an axiom:
L4672
Axiom. (HSNo_minus_HSNo) We take the following as an axiom:
∀z, HSNo zHSNo (minus_HSNo z)
L4674
Axiom. (minus_HSNo_proj0) We take the following as an axiom:
∀z, HSNo zp0 (:-: z) = - p0 z
L4676
Axiom. (minus_HSNo_proj1) We take the following as an axiom:
∀z, HSNo zp1 (:-: z) = - p1 z
L4678
Axiom. (HSNo_conj_HSNo) We take the following as an axiom:
∀z, HSNo zHSNo (conj_HSNo z)
L4680
Axiom. (conj_HSNo_proj0) We take the following as an axiom:
∀z, HSNo zp0 (z '') = (p0 z) '
L4682
Axiom. (conj_HSNo_proj1) We take the following as an axiom:
∀z, HSNo zp1 (z '') = - p1 z
L4684
Axiom. (HSNo_add_HSNo) We take the following as an axiom:
∀z w, HSNo zHSNo wHSNo (add_HSNo z w)
L4686
Axiom. (add_HSNo_proj0) We take the following as an axiom:
∀z w, HSNo zHSNo wp0 (plus' z w) = p0 z + p0 w
L4688
Axiom. (add_HSNo_proj1) We take the following as an axiom:
∀z w, HSNo zHSNo wp1 (plus' z w) = p1 z + p1 w
L4690
Axiom. (HSNo_mul_HSNo) We take the following as an axiom:
∀z w, HSNo zHSNo wHSNo (z :*: w)
L4692
Axiom. (mul_HSNo_proj0) We take the following as an axiom:
∀z w, HSNo zHSNo wp0 (mult' z w) = p0 z * p0 w + - (p1 w ' * p1 z)
L4694
Axiom. (mul_HSNo_proj1) We take the following as an axiom:
∀z w, HSNo zHSNo wp1 (mult' z w) = p1 w * p0 z + p1 z * p0 w '
L4696
Axiom. (CSNo_HSNo_proj0) We take the following as an axiom:
∀x, CSNo xp0 x = x
L4698
Axiom. (CSNo_HSNo_proj1) We take the following as an axiom:
∀x, CSNo xp1 x = 0
L4700
Axiom. (HSNo_p0_0) We take the following as an axiom:
p0 0 = 0
L4702
Axiom. (HSNo_p1_0) We take the following as an axiom:
p1 0 = 0
L4704
Axiom. (HSNo_p0_1) We take the following as an axiom:
p0 1 = 1
L4706
Axiom. (HSNo_p1_1) We take the following as an axiom:
p1 1 = 0
L4708
Axiom. (HSNo_p0_i) We take the following as an axiom:
p0 i = i
L4710
Axiom. (HSNo_p1_i) We take the following as an axiom:
p1 i = 0
L4712
Axiom. (HSNo_p0_j) We take the following as an axiom:
p0 j = 0
L4714
Axiom. (HSNo_p1_j) We take the following as an axiom:
p1 j = 1
L4716
Axiom. (HSNo_p0_k) We take the following as an axiom:
p0 k = 0
L4718
Axiom. (HSNo_p1_k) We take the following as an axiom:
p1 k = i
L4720
Axiom. (minus_HSNo_minus_CSNo) We take the following as an axiom:
∀x, CSNo x:-: x = - x
L4722
Axiom. (minus_HSNo_0) We take the following as an axiom:
L4724
Axiom. (conj_HSNo_conj_CSNo) We take the following as an axiom:
∀x, CSNo xx '' = x '
L4726
Axiom. (conj_HSNo_id_SNo) We take the following as an axiom:
∀x, SNo xx '' = x
L4728
Axiom. (conj_HSNo_0) We take the following as an axiom:
L4730
Axiom. (conj_HSNo_1) We take the following as an axiom:
L4732
Axiom. (add_HSNo_add_CSNo) We take the following as an axiom:
∀x y, CSNo xCSNo yx :+: y = x + y
L4734
Axiom. (mul_HSNo_mul_CSNo) We take the following as an axiom:
∀x y, CSNo xCSNo yx :*: y = x * y
L4736
Axiom. (minus_HSNo_invol) We take the following as an axiom:
∀z, HSNo z:-: :-: z = z
L4738
Axiom. (conj_HSNo_invol) We take the following as an axiom:
∀z, HSNo zz '' '' = z
L4740
Axiom. (conj_minus_HSNo) We take the following as an axiom:
∀z, HSNo z(:-: z) '' = :-: (z '')
L4742
Axiom. (minus_add_HSNo) We take the following as an axiom:
∀z w, HSNo zHSNo w:-: (z :+: w) = :-: z :+: :-: w
L4744
Axiom. (conj_add_HSNo) We take the following as an axiom:
∀z w, HSNo zHSNo w(z :+: w) '' = z '' :+: w ''
L4746
Axiom. (add_HSNo_com) We take the following as an axiom:
∀z w, HSNo zHSNo wz :+: w = w :+: z
L4748
Axiom. (add_HSNo_assoc) We take the following as an axiom:
∀z w v, HSNo zHSNo wHSNo v(z :+: w) :+: v = z :+: (w :+: v)
L4750
Axiom. (add_HSNo_0L) We take the following as an axiom:
∀z, HSNo zadd_HSNo 0 z = z
L4752
Axiom. (add_HSNo_0R) We take the following as an axiom:
∀z, HSNo zadd_HSNo z 0 = z
L4754
Axiom. (add_HSNo_minus_HSNo_linv) We take the following as an axiom:
∀z, HSNo zadd_HSNo (minus_HSNo z) z = 0
L4756
Axiom. (add_HSNo_minus_HSNo_rinv) We take the following as an axiom:
∀z, HSNo zadd_HSNo z (minus_HSNo z) = 0
L4758
Axiom. (mul_HSNo_0R) We take the following as an axiom:
∀z, HSNo zz :*: 0 = 0
L4760
Axiom. (mul_HSNo_0L) We take the following as an axiom:
∀z, HSNo z0 :*: z = 0
L4762
Axiom. (mul_HSNo_1R) We take the following as an axiom:
∀z, HSNo zz :*: 1 = z
L4764
Axiom. (mul_HSNo_1L) We take the following as an axiom:
∀z, HSNo z1 :*: z = z
L4766
Axiom. (conj_mul_HSNo) We take the following as an axiom:
∀z w, HSNo zHSNo w(z :*: w) '' = w '' :*: z ''
L4768
Axiom. (mul_HSNo_distrL) We take the following as an axiom:
∀z w u, HSNo zHSNo wHSNo uz :*: (w :+: u) = z :*: w :+: z :*: u
L4770
Axiom. (mul_HSNo_distrR) We take the following as an axiom:
∀z w u, HSNo zHSNo wHSNo u(z :+: w) :*: u = z :*: u :+: w :*: u
L4772
Axiom. (minus_mul_HSNo_distrR) We take the following as an axiom:
∀z w, HSNo zHSNo wz :*: (:-: w) = :-: z :*: w
L4774
Axiom. (minus_mul_HSNo_distrL) We take the following as an axiom:
∀z w, HSNo zHSNo w(:-: z) :*: w = :-: z :*: w
L4776
Axiom. (exp_HSNo_nat_0) We take the following as an axiom:
∀z, z :^: 0 = 1
L4778
Axiom. (exp_HSNo_nat_S) We take the following as an axiom:
∀z n, nat_p nz :^: (ordsucc n) = z :*: z :^: n
L4780
Axiom. (exp_HSNo_nat_1) We take the following as an axiom:
∀z, HSNo zz :^: 1 = z
L4782
Axiom. (exp_HSNo_nat_2) We take the following as an axiom:
∀z, HSNo zz :^: 2 = z :*: z
L4784
Axiom. (HSNo_exp_HSNo_nat) We take the following as an axiom:
∀z, HSNo z∀n, nat_p nHSNo (z :^: n)
L4786
Axiom. (add_CSNo_com_3b_1_2) We take the following as an axiom:
∀x y z, CSNo xCSNo yCSNo z(x + y) + z = (x + z) + y
L4789
Axiom. (add_CSNo_com_4_inner_mid) We take the following as an axiom:
∀x y z w, CSNo xCSNo yCSNo zCSNo w(x + y) + (z + w) = (x + z) + (y + w)
L4792
Axiom. (add_CSNo_rotate_4_0312) We take the following as an axiom:
∀x y z w, CSNo xCSNo yCSNo zCSNo w(x + y) + (z + w) = (x + w) + (y + z)
L4794
Axiom. (Quaternion_i_sqr) We take the following as an axiom:
i :*: i = :-: 1
L4796
Axiom. (Quaternion_j_sqr) We take the following as an axiom:
j :*: j = :-: 1
L4798
Axiom. (Quaternion_k_sqr) We take the following as an axiom:
k :*: k = :-: 1
L4800
Axiom. (Quaternion_i_j) We take the following as an axiom:
i :*: j = k
L4802
Axiom. (Quaternion_j_k) We take the following as an axiom:
j :*: k = i
L4804
Axiom. (Quaternion_k_i) We take the following as an axiom:
k :*: i = j
L4806
Axiom. (Quaternion_j_i) We take the following as an axiom:
j :*: i = :-: k
L4808
Axiom. (Quaternion_k_j) We take the following as an axiom:
k :*: j = :-: i
L4810
Axiom. (Quaternion_i_k) We take the following as an axiom:
i :*: k = :-: j
L4812
Axiom. (add_CSNo_rotate_3_1) We take the following as an axiom:
∀x y z, CSNo xCSNo yCSNo zx + y + z = z + x + y
L4815
Axiom. (mul_CSNo_rotate_3_1) We take the following as an axiom:
∀x y z, CSNo xCSNo yCSNo zx * y * z = z * x * y
L4818
Axiom. (mul_HSNo_assoc) We take the following as an axiom:
∀z w v, HSNo zHSNo wHSNo vz :*: (w :*: v) = (z :*: w) :*: v
L4820
Axiom. (conj_HSNo_i) We take the following as an axiom:
i '' = :-: i
L4822
Axiom. (conj_HSNo_j) We take the following as an axiom:
j '' = :-: j
L4824
Axiom. (conj_HSNo_k) We take the following as an axiom:
k '' = :-: k
End of Section SurQuaternions
Beginning of Section Quaternions
Notation. We use - as a prefix operator with priority 358 corresponding to applying term minus_HSNo.
Notation. We use + as an infix operator with priority 360 and which associates to the right corresponding to applying term add_HSNo.
Notation. We use * as an infix operator with priority 355 and which associates to the right corresponding to applying term mul_HSNo.
L4834
Let i ≝ Complex_i
L4836
Let j ≝ Quaternion_j
L4837
Let k ≝ Quaternion_k
L4838
Let p0 : setsetHSNo_proj0
L4839
Let p1 : setsetHSNo_proj1
L4840
Let pa : setsetsetCSNo_pair
L4841
L4843
Axiom. (quaternion_I) We take the following as an axiom:
L4845
Axiom. (quaternion_E) We take the following as an axiom:
∀zquaternion, ∀p : prop, (∀x ycomplex, z = pa x yp)p
L4849
Axiom. (quaternion_HSNo) We take the following as an axiom:
L4851
Axiom. (complex_quaternion) We take the following as an axiom:
L4853
Axiom. (quaternion_0) We take the following as an axiom:
L4855
Axiom. (quaternion_1) We take the following as an axiom:
L4857
Axiom. (quaternion_i) We take the following as an axiom:
L4859
Axiom. (quaternion_j) We take the following as an axiom:
L4861
Axiom. (quaternion_k) We take the following as an axiom:
L4863
Axiom. (quaternion_p0_eq) We take the following as an axiom:
∀x ycomplex, p0 (pa x y) = x
L4865
Axiom. (quaternion_p1_eq) We take the following as an axiom:
∀x ycomplex, p1 (pa x y) = y
L4867
Axiom. (quaternion_p0_complex) We take the following as an axiom:
L4869
Axiom. (quaternion_p1_complex) We take the following as an axiom:
L4871
Axiom. (quaternion_proj0proj1_split) We take the following as an axiom:
∀z wquaternion, p0 z = p0 wp1 z = p1 wz = w
L4873
Axiom. (quaternion_minus_HSNo) We take the following as an axiom:
L4875
Axiom. (quaternion_conj_HSNo) We take the following as an axiom:
L4877
Axiom. (quaternion_add_HSNo) We take the following as an axiom:
L4879
Axiom. (quaternion_mul_HSNo) We take the following as an axiom:
L4881
Axiom. (complex_p0_eq) We take the following as an axiom:
∀xcomplex, p0 x = x
L4883
Axiom. (complex_p1_eq) We take the following as an axiom:
∀xcomplex, p1 x = 0
End of Section Quaternions
Beginning of Section SurOctonions
L4890
Axiom. (octonion_tag_fresh) We take the following as an axiom:
∀x, HSNo x∀ux, {4} /:e u
L4892
Definition. We define HSNo_pair to be pair_tag {4} of type setsetset.
L4894
Axiom. (HSNo_pair_0) We take the following as an axiom:
∀x, HSNo_pair x 0 = x
L4896
Axiom. (HSNo_pair_prop_1) We take the following as an axiom:
∀x1 y1 x2 y2, HSNo x1HSNo x2HSNo_pair x1 y1 = HSNo_pair x2 y2x1 = x2
L4898
Axiom. (HSNo_pair_prop_2) We take the following as an axiom:
∀x1 y1 x2 y2, HSNo x1HSNo y1HSNo x2HSNo y2HSNo_pair x1 y1 = HSNo_pair x2 y2y1 = y2
L4900
Definition. We define OSNo to be CD_carr {4} HSNo of type setprop.
L4902
Axiom. (OSNo_I) We take the following as an axiom:
∀x y, HSNo xHSNo yOSNo (HSNo_pair x y)
L4904
Axiom. (OSNo_E) We take the following as an axiom:
∀z, OSNo z∀p : setprop, (∀x y, HSNo xHSNo yz = HSNo_pair x yp (HSNo_pair x y))p z
L4909
Axiom. (HSNo_OSNo) We take the following as an axiom:
∀x, HSNo xOSNo x
L4911
Axiom. (OSNo_0) We take the following as an axiom:
L4913
Axiom. (OSNo_1) We take the following as an axiom:
L4915
Let ctag : setsetλalpha ⇒ SetAdjoin alpha {4}
Notation. We use '' as a postfix operator with priority 100 corresponding to applying term ctag.
L4918
Axiom. (OSNo_ExtendedSNoElt_5) We take the following as an axiom:
∀z, OSNo zExtendedSNoElt_ 5 z
Notation. We use - as a prefix operator with priority 358 corresponding to applying term minus_HSNo.
Notation. We use + as an infix operator with priority 360 and which associates to the right corresponding to applying term add_HSNo.
Notation. We use * as an infix operator with priority 355 and which associates to the right corresponding to applying term mul_HSNo.
Notation. We use :/: as an infix operator with priority 353 and no associativity corresponding to applying term div_HSNo.
Notation. We use ' as a postfix operator with priority 100 corresponding to applying term conj_HSNo.
L4926
Let i ≝ Complex_i
L4928
Let j ≝ Quaternion_j
L4929
Let k ≝ Quaternion_k
L4930
L4932
L4933
Let p0 : setsetOSNo_proj0
L4935
Let p1 : setsetOSNo_proj1
L4936
Let pa : setsetsetHSNo_pair
L4937
Axiom. (OSNo_proj0_1) We take the following as an axiom:
∀z, OSNo zHSNo (p0 z) /\ exists y, HSNo y /\ z = pa (p0 z) y
L4939
Axiom. (OSNo_proj0_2) We take the following as an axiom:
∀x y, HSNo xHSNo yp0 (pa x y) = x
L4941
Axiom. (OSNo_proj1_1) We take the following as an axiom:
∀z, OSNo zHSNo (p1 z) /\ z = pa (p0 z) (p1 z)
L4943
Axiom. (OSNo_proj1_2) We take the following as an axiom:
∀x y, HSNo xHSNo yp1 (pa x y) = y
L4945
Axiom. (OSNo_proj0R) We take the following as an axiom:
∀z, OSNo zHSNo (p0 z)
L4947
Axiom. (OSNo_proj1R) We take the following as an axiom:
∀z, OSNo zHSNo (p1 z)
L4949
Axiom. (OSNo_proj0p1) We take the following as an axiom:
∀z, OSNo zz = pa (p0 z) (p1 z)
L4951
Axiom. (OSNo_proj0proj1_split) We take the following as an axiom:
∀z w, OSNo zOSNo wp0 z = p0 wp1 z = p1 wz = w
L4953
Definition. We define OSNoLev to be λz ⇒ HSNoLev (p0 z) :\/: HSNoLev (p1 z) of type setset.
L4955
Axiom. (OSNoLev_ordinal) We take the following as an axiom:
∀z, OSNo zordinal (OSNoLev z)
L4957
L4959
L4960
Definition. We define add_OSNo to be CD_add {4} HSNo add_HSNo of type setsetset.
L4961
L4962
L4963
Let plus' ≝ add_OSNo
L4965
Let mult' ≝ mul_OSNo
Notation. We use :-: as a prefix operator with priority 358 corresponding to applying term minus_OSNo.
Notation. We use '' as a postfix operator with priority 100 corresponding to applying term conj_OSNo.
Notation. We use :+: as an infix operator with priority 360 and which associates to the right corresponding to applying term add_OSNo.
Notation. We use :*: as an infix operator with priority 355 and which associates to the right corresponding to applying term mul_OSNo.
Notation. We use :^: as an infix operator with priority 355 and which associates to the right corresponding to applying term exp_OSNo_nat.
L4972
Axiom. (OSNo_minus_OSNo) We take the following as an axiom:
∀z, OSNo zOSNo (minus_OSNo z)
L4974
Axiom. (minus_OSNo_proj0) We take the following as an axiom:
∀z, OSNo zp0 (:-: z) = - p0 z
L4976
Axiom. (minus_OSNo_proj1) We take the following as an axiom:
∀z, OSNo zp1 (:-: z) = - p1 z
L4978
Axiom. (OSNo_conj_OSNo) We take the following as an axiom:
∀z, OSNo zOSNo (conj_OSNo z)
L4980
Axiom. (conj_OSNo_proj0) We take the following as an axiom:
∀z, OSNo zp0 (z '') = (p0 z) '
L4982
Axiom. (conj_OSNo_proj1) We take the following as an axiom:
∀z, OSNo zp1 (z '') = - p1 z
L4984
Axiom. (OSNo_add_OSNo) We take the following as an axiom:
∀z w, OSNo zOSNo wOSNo (add_OSNo z w)
L4986
Axiom. (add_OSNo_proj0) We take the following as an axiom:
∀z w, OSNo zOSNo wp0 (plus' z w) = p0 z + p0 w
L4988
Axiom. (add_OSNo_proj1) We take the following as an axiom:
∀z w, OSNo zOSNo wp1 (plus' z w) = p1 z + p1 w
L4990
Axiom. (OSNo_mul_OSNo) We take the following as an axiom:
∀z w, OSNo zOSNo wOSNo (z :*: w)
L4992
Axiom. (mul_OSNo_proj0) We take the following as an axiom:
∀z w, OSNo zOSNo wp0 (mult' z w) = p0 z * p0 w + - (p1 w ' * p1 z)
L4994
Axiom. (mul_OSNo_proj1) We take the following as an axiom:
∀z w, OSNo zOSNo wp1 (mult' z w) = p1 w * p0 z + p1 z * p0 w '
L4996
Axiom. (HSNo_OSNo_proj0) We take the following as an axiom:
∀x, HSNo xp0 x = x
L4998
Axiom. (HSNo_OSNo_proj1) We take the following as an axiom:
∀x, HSNo xp1 x = 0
L5000
Axiom. (OSNo_p0_0) We take the following as an axiom:
p0 0 = 0
L5002
Axiom. (OSNo_p1_0) We take the following as an axiom:
p1 0 = 0
L5004
Axiom. (OSNo_p0_1) We take the following as an axiom:
p0 1 = 1
L5006
Axiom. (OSNo_p1_1) We take the following as an axiom:
p1 1 = 0
L5008
Axiom. (OSNo_p0_i) We take the following as an axiom:
p0 i = i
L5010
Axiom. (OSNo_p1_i) We take the following as an axiom:
p1 i = 0
L5012
Axiom. (OSNo_p0_j) We take the following as an axiom:
p0 j = j
L5014
Axiom. (OSNo_p1_j) We take the following as an axiom:
p1 j = 0
L5016
Axiom. (OSNo_p0_k) We take the following as an axiom:
p0 k = k
L5018
Axiom. (OSNo_p1_k) We take the following as an axiom:
p1 k = 0
L5020
Axiom. (minus_OSNo_minus_HSNo) We take the following as an axiom:
∀x, HSNo x:-: x = - x
L5022
Axiom. (minus_OSNo_0) We take the following as an axiom:
L5024
Axiom. (conj_OSNo_conj_HSNo) We take the following as an axiom:
∀x, HSNo xx '' = x '
L5026
Axiom. (conj_OSNo_0) We take the following as an axiom:
L5028
Axiom. (conj_OSNo_1) We take the following as an axiom:
L5030
Axiom. (add_OSNo_add_HSNo) We take the following as an axiom:
∀x y, HSNo xHSNo yx :+: y = x + y
L5032
Axiom. (mul_OSNo_mul_HSNo) We take the following as an axiom:
∀x y, HSNo xHSNo yx :*: y = x * y
L5034
Axiom. (minus_OSNo_invol) We take the following as an axiom:
∀z, OSNo z:-: :-: z = z
L5036
Axiom. (conj_OSNo_invol) We take the following as an axiom:
∀z, OSNo zz '' '' = z
L5038
Axiom. (conj_minus_OSNo) We take the following as an axiom:
∀z, OSNo z(:-: z) '' = :-: (z '')
L5040
Axiom. (minus_add_OSNo) We take the following as an axiom:
∀z w, OSNo zOSNo w:-: (z :+: w) = :-: z :+: :-: w
L5042
Axiom. (conj_add_OSNo) We take the following as an axiom:
∀z w, OSNo zOSNo w(z :+: w) '' = z '' :+: w ''
L5044
Axiom. (add_OSNo_com) We take the following as an axiom:
∀z w, OSNo zOSNo wz :+: w = w :+: z
L5046
Axiom. (add_OSNo_assoc) We take the following as an axiom:
∀z w v, OSNo zOSNo wOSNo v(z :+: w) :+: v = z :+: (w :+: v)
L5048
Axiom. (add_OSNo_0L) We take the following as an axiom:
∀z, OSNo zadd_OSNo 0 z = z
L5050
Axiom. (add_OSNo_0R) We take the following as an axiom:
∀z, OSNo zadd_OSNo z 0 = z
L5052
Axiom. (add_OSNo_minus_OSNo_linv) We take the following as an axiom:
∀z, OSNo zadd_OSNo (minus_OSNo z) z = 0
L5054
Axiom. (add_OSNo_minus_OSNo_rinv) We take the following as an axiom:
∀z, OSNo zadd_OSNo z (minus_OSNo z) = 0
L5056
Axiom. (mul_OSNo_0R) We take the following as an axiom:
∀z, OSNo zz :*: 0 = 0
L5058
Axiom. (mul_OSNo_0L) We take the following as an axiom:
∀z, OSNo z0 :*: z = 0
L5060
Axiom. (mul_OSNo_1R) We take the following as an axiom:
∀z, OSNo zz :*: 1 = z
L5062
Axiom. (mul_OSNo_1L) We take the following as an axiom:
∀z, OSNo z1 :*: z = z
L5064
Axiom. (conj_mul_OSNo) We take the following as an axiom:
∀z w, OSNo zOSNo w(z :*: w) '' = w '' :*: z ''
L5066
Axiom. (mul_OSNo_distrL) We take the following as an axiom:
∀z w u, OSNo zOSNo wOSNo uz :*: (w :+: u) = z :*: w :+: z :*: u
L5068
Axiom. (mul_OSNo_distrR) We take the following as an axiom:
∀z w u, OSNo zOSNo wOSNo u(z :+: w) :*: u = z :*: u :+: w :*: u
L5070
Axiom. (minus_mul_OSNo_distrR) We take the following as an axiom:
∀z w, OSNo zOSNo wz :*: (:-: w) = :-: z :*: w
L5072
Axiom. (minus_mul_OSNo_distrL) We take the following as an axiom:
∀z w, OSNo zOSNo w(:-: z) :*: w = :-: z :*: w
L5074
Axiom. (exp_OSNo_nat_0) We take the following as an axiom:
∀z, z :^: 0 = 1
L5076
Axiom. (exp_OSNo_nat_S) We take the following as an axiom:
∀z n, nat_p nz :^: (ordsucc n) = z :*: z :^: n
L5078
Axiom. (exp_OSNo_nat_1) We take the following as an axiom:
∀z, OSNo zz :^: 1 = z
L5080
Axiom. (exp_OSNo_nat_2) We take the following as an axiom:
∀z, OSNo zz :^: 2 = z :*: z
L5082
Axiom. (OSNo_exp_OSNo_nat) We take the following as an axiom:
∀z, OSNo z∀n, nat_p nOSNo (z :^: n)
L5084
Axiom. (add_HSNo_com_3b_1_2) We take the following as an axiom:
∀x y z, HSNo xHSNo yHSNo z(x + y) + z = (x + z) + y
L5087
Axiom. (add_HSNo_com_4_inner_mid) We take the following as an axiom:
∀x y z w, HSNo xHSNo yHSNo zHSNo w(x + y) + (z + w) = (x + z) + (y + w)
L5090
Axiom. (add_HSNo_rotate_4_0312) We take the following as an axiom:
∀x y z w, HSNo xHSNo yHSNo zHSNo w(x + y) + (z + w) = (x + w) + (y + z)
L5092
Definition. We define Octonion_i0 to be pa 0 1 of type set.
L5094
L5095
L5096
L5097
Let i0 ≝ Octonion_i0
L5099
Let i1 ≝ Complex_i
L5100
Let i2 ≝ Quaternion_j
L5101
Let i3 ≝ Octonion_i3
L5102
Let i4 ≝ Quaternion_k
L5103
Let i5 ≝ Octonion_i5
L5104
Let i6 ≝ Octonion_i6
L5105
Axiom. (OSNo_Complex_i) We take the following as an axiom:
L5107
Axiom. (OSNo_Quaternion_j) We take the following as an axiom:
L5109
Axiom. (OSNo_Quaternion_k) We take the following as an axiom:
L5111
Axiom. (OSNo_Octonion_i0) We take the following as an axiom:
OSNo i0
L5113
Axiom. (OSNo_Octonion_i3) We take the following as an axiom:
OSNo i3
L5115
Axiom. (OSNo_Octonion_i5) We take the following as an axiom:
OSNo i5
L5117
Axiom. (OSNo_Octonion_i6) We take the following as an axiom:
OSNo i6
L5119
Axiom. (OSNo_p0_i0) We take the following as an axiom:
p0 i0 = 0
L5121
Axiom. (OSNo_p1_i0) We take the following as an axiom:
p1 i0 = 1
L5123
Axiom. (OSNo_p0_i3) We take the following as an axiom:
p0 i3 = 0
L5125
Axiom. (OSNo_p1_i3) We take the following as an axiom:
p1 i3 = - i
L5127
Axiom. (OSNo_p0_i5) We take the following as an axiom:
p0 i5 = 0
L5129
Axiom. (OSNo_p1_i5) We take the following as an axiom:
p1 i5 = - k
L5131
Axiom. (OSNo_p0_i6) We take the following as an axiom:
p0 i6 = 0
L5133
Axiom. (OSNo_p1_i6) We take the following as an axiom:
p1 i6 = - j
L5135
Axiom. (Octonion_i1_sqr) We take the following as an axiom:
i1 :*: i1 = :-: 1
L5137
Axiom. (Octonion_i2_sqr) We take the following as an axiom:
i2 :*: i2 = :-: 1
L5139
Axiom. (Octonion_i4_sqr) We take the following as an axiom:
i4 :*: i4 = :-: 1
L5141
Axiom. (Octonion_i0_sqr) We take the following as an axiom:
i0 :*: i0 = :-: 1
L5143
Axiom. (Octonion_i3_sqr) We take the following as an axiom:
i3 :*: i3 = :-: 1
L5145
Axiom. (Octonion_i5_sqr) We take the following as an axiom:
i5 :*: i5 = :-: 1
L5147
Axiom. (Octonion_i6_sqr) We take the following as an axiom:
i6 :*: i6 = :-: 1
L5149
Axiom. (Octonion_i1_i2) We take the following as an axiom:
i1 :*: i2 = i4
L5151
Axiom. (Octonion_i2_i1) We take the following as an axiom:
i2 :*: i1 = :-: i4
L5153
Axiom. (Octonion_i2_i4) We take the following as an axiom:
i2 :*: i4 = i1
L5155
Axiom. (Octonion_i4_i2) We take the following as an axiom:
i4 :*: i2 = :-: i1
L5157
Axiom. (Octonion_i4_i1) We take the following as an axiom:
i4 :*: i1 = i2
L5159
Axiom. (Octonion_i1_i4) We take the following as an axiom:
i1 :*: i4 = :-: i2
L5161
Axiom. (Octonion_i2_i3) We take the following as an axiom:
i2 :*: i3 = i5
L5163
Axiom. (Octonion_i3_i2) We take the following as an axiom:
i3 :*: i2 = :-: i5
L5165
Axiom. (Octonion_i3_i5) We take the following as an axiom:
i3 :*: i5 = i2
L5167
Axiom. (Octonion_i5_i3) We take the following as an axiom:
i5 :*: i3 = :-: i2
L5169
Axiom. (Octonion_i5_i2) We take the following as an axiom:
i5 :*: i2 = i3
L5171
Axiom. (Octonion_i2_i5) We take the following as an axiom:
i2 :*: i5 = :-: i3
L5173
Axiom. (Octonion_i3_i4) We take the following as an axiom:
i3 :*: i4 = i6
L5175
Axiom. (Octonion_i4_i3) We take the following as an axiom:
i4 :*: i3 = :-: i6
L5177
Axiom. (Octonion_i4_i6) We take the following as an axiom:
i4 :*: i6 = i3
L5179
Axiom. (Octonion_i6_i4) We take the following as an axiom:
i6 :*: i4 = :-: i3
L5181
Axiom. (Octonion_i6_i3) We take the following as an axiom:
i6 :*: i3 = i4
L5183
Axiom. (Octonion_i3_i6) We take the following as an axiom:
i3 :*: i6 = :-: i4
L5185
Axiom. (Octonion_i4_i5) We take the following as an axiom:
i4 :*: i5 = i0
L5187
Axiom. (Octonion_i5_i4) We take the following as an axiom:
i5 :*: i4 = :-: i0
L5189
Axiom. (Octonion_i5_i0) We take the following as an axiom:
i5 :*: i0 = i4
L5191
Axiom. (Octonion_i0_i5) We take the following as an axiom:
i0 :*: i5 = :-: i4
L5193
Axiom. (Octonion_i0_i4) We take the following as an axiom:
i0 :*: i4 = i5
L5195
Axiom. (Octonion_i4_i0) We take the following as an axiom:
i4 :*: i0 = :-: i5
L5197
Axiom. (Octonion_i5_i6) We take the following as an axiom:
i5 :*: i6 = i1
L5199
Axiom. (Octonion_i6_i5) We take the following as an axiom:
i6 :*: i5 = :-: i1
L5201
Axiom. (Octonion_i6_i1) We take the following as an axiom:
i6 :*: i1 = i5
L5203
Axiom. (Octonion_i1_i6) We take the following as an axiom:
i1 :*: i6 = :-: i5
L5205
Axiom. (Octonion_i1_i5) We take the following as an axiom:
i1 :*: i5 = i6
L5207
Axiom. (Octonion_i5_i1) We take the following as an axiom:
i5 :*: i1 = :-: i6
L5209
Axiom. (Octonion_i6_i0) We take the following as an axiom:
i6 :*: i0 = i2
L5211
Axiom. (Octonion_i0_i6) We take the following as an axiom:
i0 :*: i6 = :-: i2
L5213
Axiom. (Octonion_i0_i2) We take the following as an axiom:
i0 :*: i2 = i6
L5215
Axiom. (Octonion_i2_i0) We take the following as an axiom:
i2 :*: i0 = :-: i6
L5217
Axiom. (Octonion_i2_i6) We take the following as an axiom:
i2 :*: i6 = i0
L5219
Axiom. (Octonion_i6_i2) We take the following as an axiom:
i6 :*: i2 = :-: i0
L5221
Axiom. (Octonion_i0_i1) We take the following as an axiom:
i0 :*: i1 = i3
L5223
Axiom. (Octonion_i1_i0) We take the following as an axiom:
i1 :*: i0 = :-: i3
L5225
Axiom. (Octonion_i1_i3) We take the following as an axiom:
i1 :*: i3 = i0
L5227
Axiom. (Octonion_i3_i1) We take the following as an axiom:
i3 :*: i1 = :-: i0
L5229
Axiom. (Octonion_i3_i0) We take the following as an axiom:
i3 :*: i0 = i1
L5231
Axiom. (Octonion_i0_i3) We take the following as an axiom:
i0 :*: i3 = :-: i1
End of Section SurOctonions
Beginning of Section Octonions
Notation. We use - as a prefix operator with priority 358 corresponding to applying term minus_OSNo.
Notation. We use + as an infix operator with priority 360 and which associates to the right corresponding to applying term add_OSNo.
Notation. We use * as an infix operator with priority 355 and which associates to the right corresponding to applying term mul_OSNo.
L5241
Let i0 ≝ Octonion_i0
L5243
Let i1 ≝ Complex_i
L5244
Let i2 ≝ Quaternion_j
L5245
Let i3 ≝ Octonion_i3
L5246
Let i4 ≝ Quaternion_k
L5247
Let i5 ≝ Octonion_i5
L5248
Let i6 ≝ Octonion_i6
L5249
Let i ≝ Complex_i
L5250
Let j ≝ Quaternion_j
L5251
Let k ≝ Quaternion_k
L5252
Let p0 : setsetOSNo_proj0
L5253
Let p1 : setsetOSNo_proj1
L5254
Let pa : setsetsetHSNo_pair
L5255
L5257
Axiom. (octonion_I) We take the following as an axiom:
L5259
Axiom. (octonion_E) We take the following as an axiom:
∀zoctonion, ∀p : prop, (∀x yquaternion, z = pa x yp)p
L5263
Axiom. (octonion_OSNo) We take the following as an axiom:
L5265
Axiom. (quaternion_octonion) We take the following as an axiom:
L5267
Axiom. (octonion_0) We take the following as an axiom:
L5269
Axiom. (octonion_1) We take the following as an axiom:
L5271
Axiom. (octonion_i) We take the following as an axiom:
L5273
Axiom. (octonion_j) We take the following as an axiom:
L5275
Axiom. (octonion_k) We take the following as an axiom:
L5277
Axiom. (octonion_i0) We take the following as an axiom:
L5279
Axiom. (octonion_i3) We take the following as an axiom:
L5281
Axiom. (octonion_i5) We take the following as an axiom:
L5283
Axiom. (octonion_i6) We take the following as an axiom:
L5285
Axiom. (octonion_p0_eq) We take the following as an axiom:
∀x yquaternion, p0 (pa x y) = x
L5287
Axiom. (octonion_p1_eq) We take the following as an axiom:
∀x yquaternion, p1 (pa x y) = y
L5289
Axiom. (octonion_p0_quaternion) We take the following as an axiom:
L5291
Axiom. (octonion_p1_quaternion) We take the following as an axiom:
L5293
Axiom. (octonion_proj0proj1_split) We take the following as an axiom:
∀z woctonion, p0 z = p0 wp1 z = p1 wz = w
L5295
Axiom. (octonion_minus_OSNo) We take the following as an axiom:
L5297
Axiom. (octonion_conj_OSNo) We take the following as an axiom:
L5299
Axiom. (octonion_add_OSNo) We take the following as an axiom:
L5301
Axiom. (octonion_mul_OSNo) We take the following as an axiom:
L5303
Axiom. (quaternion_p0_eq') We take the following as an axiom:
∀xquaternion, p0 x = x
L5305
Axiom. (quaternion_p1_eq') We take the following as an axiom:
∀xquaternion, p1 x = 0
End of Section Octonions