Primitive. The name Eps_i is a term of type (set → prop) → set.
L2
Axiom. (Eps_i_ax) We take the following as an axiom:
∀P : set → prop, ∀x : set, P x → P (Eps_i P)
L4
Definition. We define True to be ∀p : prop, p → p of type prop.
L6
Definition. We define False to be ∀p : prop, p of type prop.
L7
Definition. We define not to be λA : prop ⇒ A → False of type prop → prop.
Notation. We use ¬ as a prefix operator with priority 700 corresponding to applying term not.
L12
Definition. We define and to be λA B : prop ⇒ ∀p : prop, (A → B → p) → p of type prop → prop → prop.
Notation. We use ∧ as an infix operator with priority 780 and which associates to the left corresponding to applying term and.
L17
Definition. We define or to be λA B : prop ⇒ ∀p : prop, (A → p) → (B → p) → p of type prop → prop → prop.
Notation. We use ∨ as an infix operator with priority 785 and which associates to the left corresponding to applying term or.
L22
Definition. We define iff to be λA B : prop ⇒ and (A → B) (B → A) of type prop → prop → prop.
Notation. We use ↔ as an infix operator with priority 805 and no associativity corresponding to applying term iff.
Beginning of Section Eq
L29
Variable A : SType
L30
Definition. We define eq to be λx y : A ⇒ ∀Q : A → A → prop, Q x y → Q y x of type A → A → prop.
L31
Definition. We define neq to be λx y : A ⇒ ¬ eq x y of type A → A → prop.
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
L39
Variable A B : SType
L40
Axiom. (func_ext) We take the following as an axiom:
∀f g : A → B, (∀x : A, f x = g x) → f = g
End of Section FE
Beginning of Section Ex
L44
Variable A : SType
L45
Definition. We define ex to be λQ : A → prop ⇒ ∀P : prop, (∀x : A, Q x → P) → P of type (A → prop) → prop.
End of Section Ex
Notation. We use ∃ x...y [possibly with ascriptions] , B as a binder notation corresponding to a term constructed using ex.
L50
Axiom. (prop_ext) We take the following as an axiom:
∀p q : prop, iff p q → p = q
Primitive. The name In is a term of type set → set → prop.
Notation. We use ∈ as an infix operator with priority 500 and no associativity corresponding to applying term In. Furthermore, we may write ∀ x ∈ A, B to mean ∀ x : set, x ∈ A → B.
L54
Definition. We define Subq to be λA B ⇒ ∀x ∈ A, x ∈ B of type set → set → prop.
Notation. We use ⊆ as an infix operator with priority 500 and no associativity corresponding to applying term Subq. Furthermore, we may write ∀ x ⊆ A, B to mean ∀ x : set, x ⊆ A → B.
L56
Axiom. (set_ext) We take the following as an axiom:
∀X Y : set, X ⊆ Y → Y ⊆ X → X = Y
L58
Axiom. (In_ind) We take the following as an axiom:
∀P : set → prop, (∀X : set, (∀x ∈ X, P x) → P X) → ∀X : set, P X
Notation. We use ∃ x...y [possibly with ascriptions] , B as a binder notation corresponding to a term constructed using ex and handling ∈ or ⊆ ascriptions using and.
Primitive. The name Empty is a term of type set.
L64
Axiom. (EmptyAx) We take the following as an axiom:
¬ ∃x : set, x ∈ Empty
Primitive. The name ⋃ is a term of type set → set.
L68
Axiom. (UnionEq) We take the following as an axiom:
∀X x, x ∈ ⋃ X ↔ ∃Y, x ∈ Y ∧ Y ∈ X
Primitive. The name 𝒫 is a term of type set → set.
L73
Axiom. (PowerEq) We take the following as an axiom:
∀X Y : set, Y ∈ 𝒫 X ↔ Y ⊆ X
Primitive. The name Repl is a term of type set → (set → set) → set.
Notation. {B| x ∈ A} is notation for Repl A (λ x . B).
L78
Axiom. (ReplEq) We take the following as an axiom:
∀A : set, ∀F : set → set, ∀y : set, y ∈ {F x|x ∈ A} ↔ ∃x ∈ A, y = F x
L80
Definition. We define TransSet to be λU : set ⇒ ∀x ∈ U, x ⊆ U of type set → prop.
L82
Definition. We define Union_closed to be λU : set ⇒ ∀X : set, X ∈ U → ⋃ X ∈ U of type set → prop.
L84
Definition. We define Power_closed to be λU : set ⇒ ∀X : set, X ∈ U → 𝒫 X ∈ U of type set → prop.
L85
Definition. We define Repl_closed to be λU : set ⇒ ∀X : set, X ∈ U → ∀F : set → set, (∀x : set, x ∈ X → F x ∈ U) → {F x|x ∈ X} ∈ U of type set → prop.
L87
Definition. We define ZF_closed to be λU : set ⇒ Union_closed U ∧ Power_closed U ∧ Repl_closed U of type set → prop.
Primitive. The name UnivOf is a term of type set → set.
L93
Axiom. (UnivOf_In) We take the following as an axiom:
∀N : set, N ∈ UnivOf N
L95
Axiom. (UnivOf_TransSet) We take the following as an axiom:
∀N : set, TransSet (UnivOf N)
L97
Axiom. (UnivOf_ZF_closed) We take the following as an axiom:
∀N : set, ZF_closed (UnivOf N)
L99
Axiom. (UnivOf_Min) We take the following as an axiom:
∀N U : set, N ∈ U → TransSet U → ZF_closed U → UnivOf N ⊆ U
L104
Axiom. (FalseE) We take the following as an axiom:
False → ∀p : prop, p
L106
Axiom. (TrueI) We take the following as an axiom:
L108
Axiom. (notI) We take the following as an axiom:
∀A : prop, (A → False) → ¬ A
L110
Axiom. (notE) We take the following as an axiom:
∀A : prop, ¬ A → A → False
L112
Axiom. (andI) We take the following as an axiom:
∀A B : prop, A → B → A ∧ B
L114
Axiom. (andEL) We take the following as an axiom:
∀A B : prop, A ∧ B → A
L116
Axiom. (andER) We take the following as an axiom:
∀A B : prop, A ∧ B → B
L118
Axiom. (orIL) We take the following as an axiom:
∀A B : prop, A → A ∨ B
L120
Axiom. (orIR) We take the following as an axiom:
∀A B : prop, B → A ∨ B
L122
Axiom. (orE) We take the following as an axiom:
∀A B C : prop, (A → C) → (B → C) → A ∨ B → C
Beginning of Section PropN
L126
Variable P1 P2 P3 : prop
L128
Axiom. (and3I) We take the following as an axiom:
P1 → P2 → P3 → P1 ∧ P2 ∧ P3
L130
Axiom. (and3E) We take the following as an axiom:
P1 ∧ P2 ∧ P3 → (∀p : prop, (P1 → P2 → P3 → p) → p)
L131
Axiom. (or3I1) We take the following as an axiom:
P1 → P1 ∨ P2 ∨ P3
L132
Axiom. (or3I2) We take the following as an axiom:
P2 → P1 ∨ P2 ∨ P3
L133
Axiom. (or3I3) We take the following as an axiom:
P3 → P1 ∨ P2 ∨ P3
L134
Axiom. (or3E) We take the following as an axiom:
P1 ∨ P2 ∨ P3 → (∀p : prop, (P1 → p) → (P2 → p) → (P3 → p) → p)
L135
Variable P4 : prop
L137
Axiom. (and4I) We take the following as an axiom:
P1 → P2 → P3 → P4 → P1 ∧ P2 ∧ P3 ∧ P4
L139
Axiom. (and4E) We take the following as an axiom:
P1 ∧ P2 ∧ P3 ∧ P4 → (∀p : prop, (P1 → P2 → P3 → P4 → p) → p)
L140
Axiom. (or4I1) We take the following as an axiom:
P1 → P1 ∨ P2 ∨ P3 ∨ P4
L141
Axiom. (or4I2) We take the following as an axiom:
P2 → P1 ∨ P2 ∨ P3 ∨ P4
L142
Axiom. (or4I3) We take the following as an axiom:
P3 → P1 ∨ P2 ∨ P3 ∨ P4
L143
Axiom. (or4I4) We take the following as an axiom:
P4 → P1 ∨ P2 ∨ P3 ∨ P4
L144
Axiom. (or4E) We take the following as an axiom:
P1 ∨ P2 ∨ P3 ∨ P4 → (∀p : prop, (P1 → p) → (P2 → p) → (P3 → p) → (P4 → p) → p)
L145
Variable P5 : prop
L147
Axiom. (and5I) We take the following as an axiom:
P1 → P2 → P3 → P4 → P5 → P1 ∧ P2 ∧ P3 ∧ P4 ∧ P5
L149
Axiom. (and5E) We take the following as an axiom:
P1 ∧ P2 ∧ P3 ∧ P4 ∧ P5 → (∀p : prop, (P1 → P2 → P3 → P4 → P5 → p) → p)
L150
Axiom. (or5I1) We take the following as an axiom:
P1 → P1 ∨ P2 ∨ P3 ∨ P4 ∨ P5
L151
Axiom. (or5I2) We take the following as an axiom:
P2 → P1 ∨ P2 ∨ P3 ∨ P4 ∨ P5
L152
Axiom. (or5I3) We take the following as an axiom:
P3 → P1 ∨ P2 ∨ P3 ∨ P4 ∨ P5
L153
Axiom. (or5I4) We take the following as an axiom:
P4 → P1 ∨ P2 ∨ P3 ∨ P4 ∨ P5
L154
Axiom. (or5I5) We take the following as an axiom:
P5 → P1 ∨ P2 ∨ P3 ∨ P4 ∨ P5
L155
Axiom. (or5E) We take the following as an axiom:
P1 ∨ P2 ∨ P3 ∨ P4 ∨ P5 → (∀p : prop, (P1 → p) → (P2 → p) → (P3 → p) → (P4 → p) → (P5 → p) → p)
L156
Variable P6 : prop
L158
Axiom. (and6I) We take the following as an axiom:
P1 → P2 → P3 → P4 → P5 → P6 → P1 ∧ P2 ∧ P3 ∧ P4 ∧ P5 ∧ P6
L160
Axiom. (and6E) We take the following as an axiom:
P1 ∧ P2 ∧ P3 ∧ P4 ∧ P5 ∧ P6 → (∀p : prop, (P1 → P2 → P3 → P4 → P5 → P6 → p) → p)
L161
Variable P7 : prop
L163
Axiom. (and7I) We take the following as an axiom:
P1 → P2 → P3 → P4 → P5 → P6 → P7 → P1 ∧ P2 ∧ P3 ∧ P4 ∧ P5 ∧ P6 ∧ P7
L165
Axiom. (and7E) We take the following as an axiom:
P1 ∧ P2 ∧ P3 ∧ P4 ∧ P5 ∧ P6 ∧ P7 → (∀p : prop, (P1 → P2 → P3 → P4 → P5 → P6 → P7 → p) → p)
End of Section PropN
L168
Axiom. (and8I) We take the following as an axiom:
∀P0 P1 P2 P3 P4 P5 P6 P7 : prop, P0 → P1 → P2 → P3 → P4 → P5 → P6 → P7 → P0 ∧ P1 ∧ P2 ∧ P3 ∧ P4 ∧ P5 ∧ P6 ∧ P7
L172
Axiom. (and9I) We take the following as an axiom:
∀P0 P1 P2 P3 P4 P5 P6 P7 P8 : prop, P0 → P1 → P2 → P3 → P4 → P5 → P6 → P7 → P8 → P0 ∧ P1 ∧ P2 ∧ P3 ∧ P4 ∧ P5 ∧ P6 ∧ P7 ∧ P8
L176
Axiom. (and10I) We take the following as an axiom:
∀P0 P1 P2 P3 P4 P5 P6 P7 P8 P9 : prop, P0 → P1 → P2 → P3 → P4 → P5 → P6 → P7 → P8 → P9 → P0 ∧ P1 ∧ P2 ∧ P3 ∧ P4 ∧ P5 ∧ P6 ∧ P7 ∧ P8 ∧ P9
L180
Axiom. (iffI) We take the following as an axiom:
∀A B : prop, (A → B) → (B → A) → (A ↔ B)
L182
Axiom. (iffEL) We take the following as an axiom:
∀A B : prop, (A ↔ B) → A → B
L183
Axiom. (iffER) We take the following as an axiom:
∀A B : prop, (A ↔ B) → B → A
L184
Axiom. (iff_ref) We take the following as an axiom:
∀A : prop, A ↔ A
L185
Axiom. (neq_i_sym) We take the following as an axiom:
∀x y, x ≠ y → y ≠ x
L187
Definition. We define nIn to be λx X ⇒ ¬ In x X of type set → set → prop.
Notation. We use ∉ as an infix operator with priority 502 and no associativity corresponding to applying term nIn.
L193
Axiom. (Eps_i_ex) We take the following as an axiom:
∀P : set → prop, (∃x, P x) → P (Eps_i P)
L195
Axiom. (pred_ext) We take the following as an axiom:
∀P Q : set → prop, (∀x, P x ↔ Q x) → P = Q
L197
Axiom. (prop_ext_2) We take the following as an axiom:
∀p q : prop, (p → q) → (q → p) → p = q
L198
Axiom. (pred_ext_2) We take the following as an axiom:
∀P Q : set → prop, P ⊆ Q → Q ⊆ P → P = Q
L199
Axiom. (Subq_ref) We take the following as an axiom:
∀X : set, X ⊆ X
L201
Axiom. (Subq_tra) We take the following as an axiom:
∀X Y Z : set, X ⊆ Y → Y ⊆ Z → X ⊆ Z
L202
Axiom. (Subq_contra) We take the following as an axiom:
∀X Y z : set, X ⊆ Y → z ∉ Y → z ∉ X
L203
Axiom. (EmptyE) We take the following as an axiom:
∀x : set, x ∉ Empty
L205
Axiom. (Subq_Empty) We take the following as an axiom:
∀X : set, Empty ⊆ X
L206
Axiom. (Empty_Subq_eq) We take the following as an axiom:
∀X : set, X ⊆ Empty → X = Empty
L207
Axiom. (Empty_eq) We take the following as an axiom:
∀X : set, (∀x, x ∉ X) → X = Empty
L208
Axiom. (UnionI) We take the following as an axiom:
∀X x Y : set, x ∈ Y → Y ∈ X → x ∈ ⋃ X
L210
Axiom. (UnionE) We take the following as an axiom:
∀X x : set, x ∈ ⋃ X → ∃Y : set, x ∈ Y ∧ Y ∈ X
L211
Axiom. (UnionE_impred) We take the following as an axiom:
∀X x : set, x ∈ ⋃ X → ∀p : prop, (∀Y : set, x ∈ Y → Y ∈ X → p) → p
L212
Axiom. (Union_Empty) We take the following as an axiom:
L214
Axiom. (PowerI) We take the following as an axiom:
∀X Y : set, Y ⊆ X → Y ∈ 𝒫 X
L216
Axiom. (PowerE) We take the following as an axiom:
∀X Y : set, Y ∈ 𝒫 X → Y ⊆ X
L217
Axiom. (Power_Subq) We take the following as an axiom:
∀X Y : set, X ⊆ Y → 𝒫 X ⊆ 𝒫 Y
L218
Axiom. (Empty_In_Power) We take the following as an axiom:
∀X : set, Empty ∈ 𝒫 X
L219
Axiom. (Self_In_Power) We take the following as an axiom:
∀X : set, X ∈ 𝒫 X
L220
Axiom. (Union_Power_Subq) We take the following as an axiom:
∀X : set, ⋃ (𝒫 X) ⊆ X
L222
Axiom. (xm) We take the following as an axiom:
∀P : prop, P ∨ ¬ P
L224
Axiom. (dneg) We take the following as an axiom:
∀P : prop, ¬ ¬ P → P
L225
Axiom. (imp_not_or) We take the following as an axiom:
∀p q : prop, (p → q) → ¬ p ∨ q
L226
Axiom. (not_and_or_demorgan) We take the following as an axiom:
∀p q : prop, ¬ (p ∧ q) → ¬ p ∨ ¬ q
Primitive. The name exactly1of2 is a term of type prop → prop → prop.
L230
Axiom. (exactly1of2_I1) We take the following as an axiom:
∀A B : prop, A → ¬ B → exactly1of2 A B
L232
Axiom. (exactly1of2_I2) We take the following as an axiom:
∀A B : prop, ¬ A → B → exactly1of2 A B
L233
Axiom. (exactly1of2_impI1) We take the following as an axiom:
∀A B : prop, (A → ¬ B) → (¬ A → B) → exactly1of2 A B
L234
Axiom. (exactly1of2_impI2) We take the following as an axiom:
∀A B : prop, (B → ¬ A) → (¬ B → A) → exactly1of2 A B
L235
Axiom. (exactly1of2_E) We take the following as an axiom:
∀A B : prop, exactly1of2 A B → ∀p : prop, (A → ¬ B → p) → (¬ A → B → p) → p
L241
Axiom. (exactly1of2_or) We take the following as an axiom:
∀A B : prop, exactly1of2 A B → A ∨ B
L243
Axiom. (exactly1of2_impn12) We take the following as an axiom:
∀A B : prop, exactly1of2 A B → A → ¬ B
L244
Axiom. (exactly1of2_impn21) We take the following as an axiom:
∀A B : prop, exactly1of2 A B → B → ¬ A
L245
Axiom. (exactly1of2_nimp12) We take the following as an axiom:
∀A B : prop, exactly1of2 A B → ¬ A → B
L246
Axiom. (exactly1of2_nimp21) We take the following as an axiom:
∀A B : prop, exactly1of2 A B → ¬ B → A
Primitive. The name exactly1of3 is a term of type prop → prop → prop → prop.
L250
Axiom. (exactly1of3_I1) We take the following as an axiom:
∀A B C : prop, A → ¬ B → ¬ C → exactly1of3 A B C
L252
Axiom. (exactly1of3_I2) We take the following as an axiom:
∀A B C : prop, ¬ A → B → ¬ C → exactly1of3 A B C
L253
Axiom. (exactly1of3_I3) We take the following as an axiom:
∀A B C : prop, ¬ A → ¬ B → C → exactly1of3 A B C
L254
Axiom. (exactly1of3_impI1) We take the following as an axiom:
∀A B C : prop, (A → ¬ B) → (A → ¬ C) → (B → ¬ C) → (¬ A → B ∨ C) → exactly1of3 A B C
L255
Axiom. (exactly1of3_impI2) We take the following as an axiom:
∀A B C : prop, (B → ¬ A) → (B → ¬ C) → (A → ¬ C) → (¬ B → A ∨ C) → exactly1of3 A B C
L256
Axiom. (exactly1of3_impI3) We take the following as an axiom:
∀A B C : prop, (C → ¬ A) → (C → ¬ B) → (A → ¬ B) → (¬ A → B) → exactly1of3 A B C
L257
Axiom. (exactly1of3_E) We take the following as an axiom:
∀A B C : prop, exactly1of3 A B C → ∀p : prop, (A → ¬ B → ¬ C → p) → (¬ A → B → ¬ C → p) → (¬ A → ¬ B → C → p) → p
L264
Axiom. (exactly1of3_or) We take the following as an axiom:
∀A B C : prop, exactly1of3 A B C → A ∨ B ∨ C
L266
Axiom. (exactly1of3_impn12) We take the following as an axiom:
∀A B C : prop, exactly1of3 A B C → A → ¬ B
L267
Axiom. (exactly1of3_impn13) We take the following as an axiom:
∀A B C : prop, exactly1of3 A B C → A → ¬ C
L268
Axiom. (exactly1of3_impn21) We take the following as an axiom:
∀A B C : prop, exactly1of3 A B C → B → ¬ A
L269
Axiom. (exactly1of3_impn23) We take the following as an axiom:
∀A B C : prop, exactly1of3 A B C → B → ¬ C
L270
Axiom. (exactly1of3_impn31) We take the following as an axiom:
∀A B C : prop, exactly1of3 A B C → C → ¬ A
L271
Axiom. (exactly1of3_impn32) We take the following as an axiom:
∀A B C : prop, exactly1of3 A B C → C → ¬ B
L272
Axiom. (exactly1of3_nimp1) We take the following as an axiom:
∀A B C : prop, exactly1of3 A B C → ¬ A → B ∨ C
L273
Axiom. (exactly1of3_nimp2) We take the following as an axiom:
∀A B C : prop, exactly1of3 A B C → ¬ B → A ∨ C
L274
Axiom. (exactly1of3_nimp3) We take the following as an axiom:
∀A B C : prop, exactly1of3 A B C → ¬ C → A ∨ B
L275
Axiom. (ReplI) We take the following as an axiom:
∀A : set, ∀F : set → set, ∀x : set, x ∈ A → F x ∈ {F x|x ∈ A}
L277
Axiom. (ReplE) We take the following as an axiom:
∀A : set, ∀F : set → set, ∀y : set, y ∈ {F x|x ∈ A} → ∃x ∈ A, y = F x
L279
Axiom. (ReplE_impred) We take the following as an axiom:
∀A : set, ∀F : set → set, ∀y : set, y ∈ {F x|x ∈ A} → ∀p : prop, (∀x : set, x ∈ A → y = F x → p) → p
L281
Axiom. (Repl_Empty) We take the following as an axiom:
∀F : set → set, {F x|x ∈ Empty} = Empty
L283
Axiom. (ReplEq_ext_sub) We take the following as an axiom:
∀X, ∀F G : set → set, (∀x ∈ X, F x = G x) → {F x|x ∈ X} ⊆ {G x|x ∈ X}
L285
Axiom. (ReplEq_ext) We take the following as an axiom:
∀X, ∀F G : set → set, (∀x ∈ X, F x = G x) → {F x|x ∈ X} = {G x|x ∈ X}
Primitive. The name If_i is a term of type prop → set → set → set.
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.
L292
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
L295
Axiom. (If_i_0) We take the following as an axiom:
∀p : prop, ∀x y : set, ¬ p → (if p then x else y) = y
L298
Axiom. (If_i_1) We take the following as an axiom:
∀p : prop, ∀x y : set, p → (if p then x else y) = x
L301
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
L303
Axiom. (If_i_eta) We take the following as an axiom:
∀p : prop, ∀x : set, (if p then x else x) = x
Primitive. The name UPair is a term of type set → set → set.
Notation. {x,y} is notation for UPair x y.
L310
Axiom. (UPairE) We take the following as an axiom:
∀x y z : set, x ∈ {y,z} → x = y ∨ x = z
L313
Axiom. (UPairI1) We take the following as an axiom:
∀y z : set, y ∈ {y,z}
L315
Axiom. (UPairI2) We take the following as an axiom:
∀y z : set, z ∈ {y,z}
L317
Axiom. (UPair_com) We take the following as an axiom:
∀x y : set, {x,y} = {y,x}
Primitive. The name Sing is a term of type set → set.
Notation. {x} is notation for Sing x.
L323
Axiom. (SingI) We take the following as an axiom:
∀x : set, x ∈ {x}
L325
Axiom. (SingE) We take the following as an axiom:
∀x y : set, y ∈ {x} → y = x
Primitive. The name binunion is a term of type set → set → set.
Notation. We use ∪ as an infix operator with priority 345 and which associates to the left corresponding to applying term binunion.
L332
Axiom. (binunionI1) We take the following as an axiom:
∀X Y z : set, z ∈ X → z ∈ X ∪ Y
L334
Axiom. (binunionI2) We take the following as an axiom:
∀X Y z : set, z ∈ Y → z ∈ X ∪ Y
L336
Axiom. (binunionE) We take the following as an axiom:
∀X Y z : set, z ∈ X ∪ Y → z ∈ X ∨ z ∈ Y
L338
Definition. We define SetAdjoin to be λX y ⇒ X ∪ {y} of type set → set → set.
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.
L342
Axiom. (Power_0_Sing_0) We take the following as an axiom:
L344
Axiom. (Repl_UPair) We take the following as an axiom:
∀F : set → set, ∀x y : set, {F z|z ∈ {x,y}} = {F x,F y}
L346
Axiom. (Repl_Sing) We take the following as an axiom:
∀F : set → set, ∀x : set, {F z|z ∈ {x}} = {F x}
L348
Axiom. (Repl_restr) We take the following as an axiom:
∀X : set, ∀F G : set → set, (∀x : set, x ∈ X → F x = G x) → {F x|x ∈ X} = {G x|x ∈ X}
L350
Definition. We define famunion to be λX F ⇒ ⋃ {F x|x ∈ X} of type set → (set → set) → set.
Notation. We use ⋃ x [possibly with ascriptions] , B as a binder notation corresponding to a term constructed using famunion.
L356
Axiom. (famunionI) We take the following as an axiom:
∀X : set, ∀F : (set → set), ∀x y : set, x ∈ X → y ∈ F x → y ∈ ⋃x ∈ XF x
L358
Axiom. (famunionE) We take the following as an axiom:
∀X : set, ∀F : (set → set), ∀y : set, y ∈ (⋃x ∈ XF x) → ∃x ∈ X, y ∈ F x
L360
Axiom. (famunionE_impred) We take the following as an axiom:
∀X : set, ∀F : (set → set), ∀y : set, y ∈ (⋃x ∈ XF x) → ∀p : prop, (∀x, x ∈ X → y ∈ F x → p) → p
L362
Axiom. (UnionEq_famunionId) We take the following as an axiom:
∀X : set, ⋃ X = ⋃x ∈ Xx
L364
Axiom. (ReplEq_famunion_Sing) We take the following as an axiom:
∀X : set, ∀F : (set → set), {F x|x ∈ X} = ⋃x ∈ X{F x}
L366
Axiom. (Power_Sing) We take the following as an axiom:
∀x : set, 𝒫 {x} = {Empty,{x}}
L368
Axiom. (Power_Sing_0) We take the following as an axiom:
Primitive. The name Sep is a term of type set → (set → prop) → set.
Notation. {x ∈ A | B} is notation for Sep A (λ x . B).
L374
Axiom. (SepI) We take the following as an axiom:
∀X : set, ∀P : (set → prop), ∀x : set, x ∈ X → P x → x ∈ {x ∈ X|P x}
L376
Axiom. (SepE) We take the following as an axiom:
∀X : set, ∀P : (set → prop), ∀x : set, x ∈ {x ∈ X|P x} → x ∈ X ∧ P x
L377
Axiom. (SepE1) We take the following as an axiom:
∀X : set, ∀P : (set → prop), ∀x : set, x ∈ {x ∈ X|P x} → x ∈ X
L378
Axiom. (SepE2) We take the following as an axiom:
∀X : set, ∀P : (set → prop), ∀x : set, x ∈ {x ∈ X|P x} → P x
L379
Axiom. (Sep_Subq) We take the following as an axiom:
∀X : set, ∀P : set → prop, {x ∈ X|P x} ⊆ X
L381
Axiom. (Sep_In_Power) We take the following as an axiom:
∀X : set, ∀P : set → prop, {x ∈ X|P x} ∈ 𝒫 X
Primitive. The name ReplSep is a term of type set → (set → prop) → (set → set) → set.
Notation. {B| x ∈ A, C} is notation for ReplSep A (λ x . C) (λ x . B).
L387
Axiom. (ReplSepI) We take the following as an axiom:
∀X : set, ∀P : set → prop, ∀F : set → set, ∀x : set, x ∈ X → P x → F x ∈ {F x|x ∈ X, P x}
L389
Axiom. (ReplSepE) We take the following as an axiom:
∀X : set, ∀P : set → prop, ∀F : set → set, ∀y : set, y ∈ {F x|x ∈ X, P x} → ∃x : set, x ∈ X ∧ P x ∧ y = F x
L391
Axiom. (ReplSepE_impred) We take the following as an axiom:
∀X : set, ∀P : set → prop, ∀F : set → set, ∀y : set, y ∈ {F x|x ∈ X, P x} → ∀p : prop, (∀x ∈ X, P x → y = F x → p) → p
Primitive. The name ReplSep2 is a term of type set → (set → set) → (set → set → prop) → (set → set → set) → set.
L396
Axiom. (ReplSep2I) We take the following as an axiom:
∀A, ∀B : set → set, ∀P : set → set → prop, ∀F : set → set → set, ∀x ∈ A, ∀y ∈ B x, P x y → F x y ∈ ReplSep2 A B P F
L398
Axiom. (ReplSep2E_impred) We take the following as an axiom:
∀A, ∀B : set → set, ∀P : set → set → prop, ∀F : set → set → set, ∀r ∈ ReplSep2 A B P F, ∀p : prop, (∀x ∈ A, ∀y ∈ B x, P x y → r = F x y → p) → p
L400
Axiom. (ReplSep2E) We take the following as an axiom:
∀A, ∀B : set → set, ∀P : set → set → prop, ∀F : set → set → set, ∀r ∈ ReplSep2 A B P F, ∃x ∈ A, ∃y ∈ B x, P x y ∧ r = F x y
L402
Axiom. (binunion_asso) We take the following as an axiom:
∀X Y Z : set, X ∪ (Y ∪ Z) = (X ∪ Y) ∪ Z
L404
Axiom. (binunion_com) We take the following as an axiom:
∀X Y : set, X ∪ Y = Y ∪ X
L405
Axiom. (binunion_idl) We take the following as an axiom:
∀X : set, Empty ∪ X = X
L406
Axiom. (binunion_idr) We take the following as an axiom:
∀X : set, X ∪ Empty = X
L407
Axiom. (binunion_idem) We take the following as an axiom:
∀X : set, X ∪ X = X
L408
Axiom. (binunion_Subq_1) We take the following as an axiom:
∀X Y : set, X ⊆ X ∪ Y
L409
Axiom. (binunion_Subq_2) We take the following as an axiom:
∀X Y : set, Y ⊆ X ∪ Y
L410
Axiom. (binunion_Subq_min) We take the following as an axiom:
∀X Y Z : set, X ⊆ Z → Y ⊆ Z → X ∪ Y ⊆ Z
L411
Axiom. (Subq_binunion_eq) We take the following as an axiom:
∀X Y, (X ⊆ Y) = (X ∪ Y = Y)
L412
Axiom. (binunion_nIn_I) We take the following as an axiom:
∀X Y z : set, z ∉ X → z ∉ Y → z ∉ X ∪ Y
L413
Axiom. (binunion_nIn_E) We take the following as an axiom:
∀X Y z : set, z ∉ X ∪ Y → z ∉ X ∧ z ∉ Y
Primitive. The name binintersect is a term of type set → set → set.
Notation. We use ∩ as an infix operator with priority 340 and which associates to the left corresponding to applying term binintersect.
L420
Axiom. (binintersectI) We take the following as an axiom:
∀X Y z, z ∈ X → z ∈ Y → z ∈ X ∩ Y
L422
Axiom. (binintersectE) We take the following as an axiom:
∀X Y z, z ∈ X ∩ Y → z ∈ X ∧ z ∈ Y
L423
Axiom. (binintersectE1) We take the following as an axiom:
∀X Y z, z ∈ X ∩ Y → z ∈ X
L424
Axiom. (binintersectE2) We take the following as an axiom:
∀X Y z, z ∈ X ∩ Y → z ∈ Y
L425
Axiom. (binintersect_Subq_1) We take the following as an axiom:
∀X Y : set, X ∩ Y ⊆ X
L426
Axiom. (binintersect_Subq_2) We take the following as an axiom:
∀X Y : set, X ∩ Y ⊆ Y
L427
Axiom. (binintersect_Subq_eq_1) We take the following as an axiom:
∀X Y, X ⊆ Y → X ∩ Y = X
L428
Axiom. (binintersect_Subq_max) We take the following as an axiom:
∀X Y Z : set, Z ⊆ X → Z ⊆ Y → Z ⊆ X ∩ Y
L429
Axiom. (binintersect_asso) We take the following as an axiom:
∀X Y Z : set, X ∩ (Y ∩ Z) = (X ∩ Y) ∩ Z
L430
Axiom. (binintersect_com) We take the following as an axiom:
∀X Y : set, X ∩ Y = Y ∩ X
L431
Axiom. (binintersect_annil) We take the following as an axiom:
∀X : set, Empty ∩ X = Empty
L432
Axiom. (binintersect_annir) We take the following as an axiom:
∀X : set, X ∩ Empty = Empty
L433
Axiom. (binintersect_idem) We take the following as an axiom:
∀X : set, X ∩ X = X
L434
Axiom. (binintersect_binunion_distr) We take the following as an axiom:
∀X Y Z : set, X ∩ (Y ∪ Z) = X ∩ Y ∪ X ∩ Z
L435
Axiom. (binunion_binintersect_distr) We take the following as an axiom:
∀X Y Z : set, X ∪ Y ∩ Z = (X ∪ Y) ∩ (X ∪ Z)
L436
Axiom. (Subq_binintersection_eq) We take the following as an axiom:
∀X Y : set, (X ⊆ Y) = (X ∩ Y = X)
L437
Axiom. (binintersect_nIn_I1) We take the following as an axiom:
∀X Y z : set, z ∉ X → z ∉ X ∩ Y
L438
Axiom. (binintersect_nIn_I2) We take the following as an axiom:
∀X Y z : set, z ∉ Y → z ∉ X ∩ Y
L439
Axiom. (binintersect_nIn_E) We take the following as an axiom:
∀X Y z : set, z ∉ X ∩ Y → z ∉ X ∨ z ∉ Y
Primitive. The name setminus is a term of type set → set → set.
Notation. We use ∖ as an infix operator with priority 350 and no associativity corresponding to applying term setminus.
L446
Axiom. (setminusI) We take the following as an axiom:
∀X Y z, (z ∈ X) → (z ∉ Y) → z ∈ X ∖ Y
L448
Axiom. (setminusE) We take the following as an axiom:
∀X Y z, (z ∈ X ∖ Y) → z ∈ X ∧ z ∉ Y
L449
Axiom. (setminusE1) We take the following as an axiom:
∀X Y z, (z ∈ X ∖ Y) → z ∈ X
L450
Axiom. (setminusE2) We take the following as an axiom:
∀X Y z, (z ∈ X ∖ Y) → z ∉ Y
L451
Axiom. (setminus_Subq) We take the following as an axiom:
∀X Y : set, X ∖ Y ⊆ X
L452
Axiom. (setminus_Subq_contra) We take the following as an axiom:
∀X Y Z : set, Z ⊆ Y → X ∖ Y ⊆ X ∖ Z
L453
Axiom. (setminus_nIn_I1) We take the following as an axiom:
∀X Y z, z ∉ X → z ∉ X ∖ Y
L454
Axiom. (setminus_nIn_I2) We take the following as an axiom:
∀X Y z, z ∈ Y → z ∉ X ∖ Y
L455
Axiom. (setminus_nIn_E) We take the following as an axiom:
∀X Y z, z ∉ X ∖ Y → z ∉ X ∨ z ∈ Y
L456
Axiom. (setminus_selfannih) We take the following as an axiom:
∀X : set, (X ∖ X) = Empty
L457
Axiom. (setminus_binintersect) We take the following as an axiom:
∀X Y Z : set, X ∖ Y ∩ Z = (X ∖ Y) ∪ (X ∖ Z)
L458
Axiom. (setminus_binunion) We take the following as an axiom:
∀X Y Z : set, X ∖ Y ∪ Z = (X ∖ Y) ∖ Z
L459
Axiom. (binintersect_setminus) We take the following as an axiom:
∀X Y Z : set, (X ∩ Y) ∖ Z = X ∩ (Y ∖ Z)
L460
Axiom. (binunion_setminus) We take the following as an axiom:
∀X Y Z : set, X ∪ Y ∖ Z = (X ∖ Z) ∪ (Y ∖ Z)
L461
Axiom. (setminus_setminus) We take the following as an axiom:
∀X Y Z : set, X ∖ (Y ∖ Z) = (X ∖ Y) ∪ (X ∩ Z)
L462
Axiom. (setminus_annil) We take the following as an axiom:
∀X : set, Empty ∖ X = Empty
L463
Axiom. (setminus_idr) We take the following as an axiom:
∀X : set, X ∖ Empty = X
L464
Axiom. (In_irref) We take the following as an axiom:
∀x, x ∉ x
L466
Axiom. (In_no2cycle) We take the following as an axiom:
∀x y, x ∈ y → y ∈ x → False
L467
Axiom. (In_no3cycle) We take the following as an axiom:
∀x y z, x ∈ y → y ∈ z → z ∈ x → False
Primitive. The name ordsucc is a term of type set → set.
L471
Axiom. (ordsuccI1) We take the following as an axiom:
∀x : set, x ⊆ ordsucc x
L473
Axiom. (ordsuccI2) We take the following as an axiom:
∀x : set, x ∈ ordsucc x
L474
Axiom. (ordsuccE) We take the following as an axiom:
∀x y : set, y ∈ ordsucc x → y ∈ x ∨ y = x
Notation. Natural numbers 0,1,2,... are notation for the terms formed using Empty as 0 and forming successors with ordsucc.
L477
Axiom. (neq_0_ordsucc) We take the following as an axiom:
∀a : set, 0 ≠ ordsucc a
L479
Axiom. (neq_ordsucc_0) We take the following as an axiom:
∀a : set, ordsucc a ≠ 0
L480
Axiom. (ordsucc_inj) We take the following as an axiom:
∀a b : set, ordsucc a = ordsucc b → a = b
L482
Axiom. (ordsucc_inj_contra) We take the following as an axiom:
∀a b : set, a ≠ b → ordsucc a ≠ ordsucc b
L483
Axiom. (In_0_1) We take the following as an axiom:
L485
Axiom. (In_0_2) We take the following as an axiom:
L486
Axiom. (In_1_2) We take the following as an axiom:
L487
Definition. We define nat_p to be λn : set ⇒ ∀p : set → prop, p 0 → (∀x : set, p x → p (ordsucc x)) → p n of type set → prop.
L489
Axiom. (nat_0) We take the following as an axiom:
L491
Axiom. (nat_ordsucc) We take the following as an axiom:
∀n : set, nat_p n → nat_p (ordsucc n)
L492
Axiom. (nat_1) We take the following as an axiom:
L493
Axiom. (nat_2) We take the following as an axiom:
L494
Axiom. (nat_3) We take the following as an axiom:
L495
Axiom. (nat_4) We take the following as an axiom:
L496
Axiom. (nat_5) We take the following as an axiom:
L497
Axiom. (nat_6) We take the following as an axiom:
L498
Axiom. (nat_0_in_ordsucc) We take the following as an axiom:
∀n, nat_p n → 0 ∈ ordsucc n
L499
Axiom. (nat_ordsucc_in_ordsucc) We take the following as an axiom:
∀n, nat_p n → ∀m ∈ n, ordsucc m ∈ ordsucc n
L500
Axiom. (nat_ind) We take the following as an axiom:
∀p : set → prop, p 0 → (∀n, nat_p n → p n → p (ordsucc n)) → ∀n, nat_p n → p n
L501
Axiom. (nat_inv) We take the following as an axiom:
∀n, nat_p n → n = 0 ∨ ∃x, nat_p x ∧ n = ordsucc x
L502
Axiom. (nat_complete_ind) We take the following as an axiom:
∀p : set → prop, (∀n, nat_p n → (∀m ∈ n, p m) → p n) → ∀n, nat_p n → p n
L503
Axiom. (nat_p_trans) We take the following as an axiom:
∀n, nat_p n → ∀m ∈ n, nat_p m
L504
Axiom. (nat_trans) We take the following as an axiom:
∀n, nat_p n → ∀m ∈ n, m ⊆ n
L505
Axiom. (nat_ordsucc_trans) We take the following as an axiom:
∀n, nat_p n → ∀m ∈ ordsucc n, m ⊆ n
L506
Axiom. (Union_ordsucc_eq) We take the following as an axiom:
∀n, nat_p n → ⋃ (ordsucc n) = n
L508
Axiom. (In_0_3) We take the following as an axiom:
L510
Axiom. (In_1_3) We take the following as an axiom:
L511
Axiom. (In_2_3) We take the following as an axiom:
L512
Axiom. (In_0_4) We take the following as an axiom:
L513
Axiom. (In_1_4) We take the following as an axiom:
L514
Axiom. (In_2_4) We take the following as an axiom:
L515
Axiom. (In_3_4) We take the following as an axiom:
L516
Axiom. (In_0_5) We take the following as an axiom:
L517
Axiom. (In_1_5) We take the following as an axiom:
L518
Axiom. (In_2_5) We take the following as an axiom:
L519
Axiom. (In_3_5) We take the following as an axiom:
L520
Axiom. (In_4_5) We take the following as an axiom:
L521
Axiom. (In_0_6) We take the following as an axiom:
L522
Axiom. (In_1_6) We take the following as an axiom:
L523
Axiom. (In_2_6) We take the following as an axiom:
L524
Axiom. (In_3_6) We take the following as an axiom:
L525
Axiom. (In_4_6) We take the following as an axiom:
L526
Axiom. (In_5_6) We take the following as an axiom:
L527
Axiom. (cases_1) We take the following as an axiom:
∀i ∈ 1, ∀p : set → prop, p 0 → p i
L529
Axiom. (cases_2) We take the following as an axiom:
∀i ∈ 2, ∀p : set → prop, p 0 → p 1 → p i
L530
Axiom. (cases_3) We take the following as an axiom:
∀i ∈ 3, ∀p : set → prop, p 0 → p 1 → p 2 → p i
L531
Axiom. (cases_4) We take the following as an axiom:
∀i ∈ 4, ∀p : set → prop, p 0 → p 1 → p 2 → p 3 → p i
L532
Axiom. (cases_5) We take the following as an axiom:
∀i ∈ 5, ∀p : set → prop, p 0 → p 1 → p 2 → p 3 → p 4 → p i
L533
Axiom. (cases_6) We take the following as an axiom:
∀i ∈ 6, ∀p : set → prop, p 0 → p 1 → p 2 → p 3 → p 4 → p 5 → p i
L534
Axiom. (neq_0_1) We take the following as an axiom:
L536
Axiom. (neq_0_2) We take the following as an axiom:
L537
Axiom. (neq_1_2) We take the following as an axiom:
L538
Axiom. (neq_1_0) We take the following as an axiom:
L539
Axiom. (neq_2_0) We take the following as an axiom:
L540
Axiom. (neq_2_1) We take the following as an axiom:
L541
Axiom. (neq_3_0) We take the following as an axiom:
L542
Axiom. (neq_3_1) We take the following as an axiom:
L543
Axiom. (neq_3_2) We take the following as an axiom:
L544
Axiom. (neq_4_0) We take the following as an axiom:
L545
Axiom. (neq_4_1) We take the following as an axiom:
L546
Axiom. (neq_4_2) We take the following as an axiom:
L547
Axiom. (neq_4_3) We take the following as an axiom:
L548
Axiom. (neq_5_0) We take the following as an axiom:
L549
Axiom. (neq_5_1) We take the following as an axiom:
L550
Axiom. (neq_5_2) We take the following as an axiom:
L551
Axiom. (neq_5_3) We take the following as an axiom:
L552
Axiom. (neq_5_4) We take the following as an axiom:
L553
Axiom. (ZF_closed_I) We take the following as an axiom:
L559
Axiom. (ZF_closed_E) We take the following as an axiom:
∀U, ZF_closed U → ∀p : prop, (Union_closed U → Power_closed U → Repl_closed U → p) → p
L566
Axiom. (ZF_Union_closed) We take the following as an axiom:
∀U, ZF_closed U → ∀X ∈ U, ⋃ X ∈ U
L569
Axiom. (ZF_Power_closed) We take the following as an axiom:
∀U, ZF_closed U → ∀X ∈ U, 𝒫 X ∈ U
L572
Axiom. (ZF_Repl_closed) We take the following as an axiom:
∀U, ZF_closed U → ∀X ∈ U, ∀F : set → set, (∀x ∈ X, F x ∈ U) → {F x|x ∈ X} ∈ U
L575
Axiom. (ZF_UPair_closed) We take the following as an axiom:
∀U, ZF_closed U → ∀x y ∈ U, {x,y} ∈ U
L578
Axiom. (ZF_Sing_closed) We take the following as an axiom:
∀U, ZF_closed U → ∀x ∈ U, {x} ∈ U
L581
Axiom. (ZF_binunion_closed) We take the following as an axiom:
∀U, ZF_closed U → ∀X Y ∈ U, (X ∪ Y) ∈ U
L584
Axiom. (ZF_ordsucc_closed) We take the following as an axiom:
∀U, ZF_closed U → ∀x ∈ U, ordsucc x ∈ U
L587
Axiom. (nat_p_UnivOf_Empty) We take the following as an axiom:
∀n : set, nat_p n → n ∈ UnivOf Empty
L589
Definition. We define omega to be {n ∈ UnivOf Empty|nat_p n} of type set.
L591
Axiom. (omega_nat_p) We take the following as an axiom:
L593
Axiom. (nat_p_omega) We take the following as an axiom:
∀n : set, nat_p n → n ∈ omega
L595
Axiom. (omega_ordsucc) We take the following as an axiom:
L597
Definition. We define ordinal to be λalpha : set ⇒ TransSet alpha ∧ ∀beta ∈ alpha, TransSet beta of type set → prop.
L599
Axiom. (ordinal_TransSet) We take the following as an axiom:
∀alpha : set, ordinal alpha → TransSet alpha
L601
Axiom. (ordinal_In_TransSet) We take the following as an axiom:
∀alpha : set, ordinal alpha → ∀beta ∈ alpha, TransSet beta
L603
Axiom. (ordinal_Empty) We take the following as an axiom:
L605
Axiom. (ordinal_Hered) We take the following as an axiom:
∀alpha : set, ordinal alpha → ∀beta ∈ alpha, ordinal beta
L607
Axiom. (TransSet_ordsucc) We take the following as an axiom:
∀X : set, TransSet X → TransSet (ordsucc X)
L609
Axiom. (ordinal_ordsucc) We take the following as an axiom:
∀alpha : set, ordinal alpha → ordinal (ordsucc alpha)
L611
Axiom. (nat_p_ordinal) We take the following as an axiom:
∀n : set, nat_p n → ordinal n
L613
Axiom. (ordinal_1) We take the following as an axiom:
L615
Axiom. (ordinal_2) We take the following as an axiom:
L617
Axiom. (omega_TransSet) We take the following as an axiom:
L619
Axiom. (omega_ordinal) We take the following as an axiom:
L621
Axiom. (ordsucc_omega_ordinal) We take the following as an axiom:
L623
Axiom. (TransSet_ordsucc_In_Subq) We take the following as an axiom:
∀X : set, TransSet X → ∀x ∈ X, ordsucc x ⊆ X
L625
Axiom. (ordinal_ordsucc_In_Subq) We take the following as an axiom:
∀alpha, ordinal alpha → ∀beta ∈ alpha, ordsucc beta ⊆ alpha
L627
Axiom. (ordinal_trichotomy_or) We take the following as an axiom:
∀alpha beta : set, ordinal alpha → ordinal beta → alpha ∈ beta ∨ alpha = beta ∨ beta ∈ alpha
L629
Axiom. (ordinal_In_Or_Subq) We take the following as an axiom:
∀alpha beta, ordinal alpha → ordinal beta → alpha ∈ beta ∨ beta ⊆ alpha
L631
Axiom. (ordinal_linear) We take the following as an axiom:
∀alpha beta, ordinal alpha → ordinal beta → alpha ⊆ beta ∨ beta ⊆ alpha
L633
Axiom. (ordinal_ordsucc_In_eq) We take the following as an axiom:
∀alpha beta, ordinal alpha → beta ∈ alpha → ordsucc beta ∈ alpha ∨ alpha = ordsucc beta
L635
Axiom. (ordinal_lim_or_succ) We take the following as an axiom:
∀alpha, ordinal alpha → (∀beta ∈ alpha, ordsucc beta ∈ alpha) ∨ (∃beta ∈ alpha, alpha = ordsucc beta)
L637
Axiom. (ordinal_ordsucc_In) We take the following as an axiom:
∀alpha, ordinal alpha → ∀beta ∈ alpha, ordsucc beta ∈ ordsucc alpha
L639
Axiom. (ordinal_Union) We take the following as an axiom:
∀X, (∀x ∈ X, ordinal x) → ordinal (⋃ X)
L641
Axiom. (ordinal_famunion) We take the following as an axiom:
∀X, ∀F : set → set, (∀x ∈ X, ordinal (F x)) → ordinal (⋃x ∈ XF x)
L643
Axiom. (ordinal_binintersect) We take the following as an axiom:
∀alpha beta, ordinal alpha → ordinal beta → ordinal (alpha ∩ beta)
L645
Axiom. (ordinal_binunion) We take the following as an axiom:
∀alpha beta, ordinal alpha → ordinal beta → ordinal (alpha ∪ beta)
L647
Axiom. (ordinal_Sep) We take the following as an axiom:
∀alpha, ordinal alpha → ∀p : set → prop, (∀beta ∈ alpha, ∀gamma ∈ beta, p beta → p gamma) → ordinal {beta ∈ alpha|p beta}
L649
Definition. We define inj to be λX Y f ⇒ (∀u ∈ X, f u ∈ Y) ∧ (∀u v ∈ X, f u = f v → u = v) of type set → set → (set → set) → prop.
L655
Definition. We define surj to be λX Y f ⇒ (∀u ∈ X, f u ∈ Y) ∧ (∀w ∈ Y, ∃u ∈ X, f u = w) of type set → set → (set → set) → prop.
L661
Definition. We define bij to be λX Y f ⇒ (∀u ∈ X, f u ∈ Y) ∧ (∀u v ∈ X, f u = f v → u = v) ∧ (∀w ∈ Y, ∃u ∈ X, f u = w) of type set → set → (set → set) → prop.
L669
Axiom. (bijI) We take the following as an axiom:
∀X Y, ∀f : set → set, (∀u ∈ X, f u ∈ Y) → (∀u v ∈ X, f u = f v → u = v) → (∀w ∈ Y, ∃u ∈ X, f u = w) → bij X Y f
L675
Axiom. (bijE) We take the following as an axiom:
∀X Y, ∀f : set → set, bij X Y f → ∀p : prop, ((∀u ∈ X, f u ∈ Y) → (∀u v ∈ X, f u = f v → u = v) → (∀w ∈ Y, ∃u ∈ X, f u = w) → p) → p
Primitive. The name inv is a term of type set → (set → set) → set → set.
L687
Axiom. (surj_rinv) We take the following as an axiom:
∀X Y, ∀f : set → set, (∀w ∈ Y, ∃u ∈ X, f u = w) → ∀y ∈ Y, inv X f y ∈ X ∧ f (inv X f y) = y
L689
Axiom. (inj_linv) We take the following as an axiom:
∀X, ∀f : set → set, (∀u v ∈ X, f u = f v → u = v) → ∀x ∈ X, inv X f (f x) = x
L691
Axiom. (bij_inv) We take the following as an axiom:
∀X Y, ∀f : set → set, bij X Y f → bij Y X (inv X f)
L693
Axiom. (bij_comp) We take the following as an axiom:
∀X Y Z : set, ∀f g : set → set, bij X Y f → bij Y Z g → bij X Z (λx ⇒ g (f x))
L695
Axiom. (bij_id) We take the following as an axiom:
∀X, bij X X (λx ⇒ x)
L697
Axiom. (bij_inj) We take the following as an axiom:
∀X Y, ∀f : set → set, bij X Y f → inj X Y f
L699
Axiom. (bij_surj) We take the following as an axiom:
∀X Y, ∀f : set → set, bij X Y f → surj X Y f
L701
Axiom. (inj_surj_bij) We take the following as an axiom:
∀X Y, ∀f : set → set, inj X Y f → surj X Y f → bij X Y f
L703
Axiom. (surj_inv_inj) We take the following as an axiom:
∀X Y, ∀f : set → set, (∀y ∈ Y, ∃x ∈ X, f x = y) → inj Y X (inv X f)
L705
Definition. We define atleastp to be λX Y : set ⇒ ∃f : set → set, inj X Y f of type set → set → prop.
L708
Definition. We define equip to be λX Y : set ⇒ ∃f : set → set, bij X Y f of type set → set → prop.
L711
Axiom. (equip_ref) We take the following as an axiom:
∀X, equip X X
L713
Axiom. (equip_sym) We take the following as an axiom:
∀X Y, equip X Y → equip Y X
L714
Axiom. (equip_tra) We take the following as an axiom:
∀X Y Z, equip X Y → equip Y Z → equip X Z
L715
Definition. We define finite to be λX ⇒ ∃n ∈ omega, equip X n of type set → prop.
L717
Definition. We define infinite to be λX ⇒ ¬ finite X of type set → prop.
L718
Axiom. (KnasterTarski_set) We take the following as an axiom:
∀A, ∀F : set → set, (∀U ∈ 𝒫 A, F U ∈ 𝒫 A) → (∀U V ∈ 𝒫 A, U ⊆ V → F U ⊆ F V) → ∃Y ∈ 𝒫 A, F Y = Y
L723
Axiom. (image_In_Power) We take the following as an axiom:
∀A B, ∀f : set → set, (∀x ∈ A, f x ∈ B) → ∀U ∈ 𝒫 A, {f x|x ∈ U} ∈ 𝒫 B
L724
Axiom. (image_monotone) We take the following as an axiom:
∀f : set → set, ∀U V, U ⊆ V → {f x|x ∈ U} ⊆ {f x|x ∈ V}
L725
Axiom. (setminus_In_Power) We take the following as an axiom:
∀A U, A ∖ U ∈ 𝒫 A
L726
Axiom. (setminus_antimonotone) We take the following as an axiom:
∀A U V, U ⊆ V → A ∖ V ⊆ A ∖ U
L727
Axiom. (SchroederBernstein) We take the following as an axiom:
∀A B, ∀f g : set → set, inj A B f → inj B A g → equip A B
L728
Axiom. (f_eq_i) We take the following as an axiom:
∀f : set → set, ∀x y, x = y → f x = f y
L730
Axiom. (f_eq_i_i) We take the following as an axiom:
∀f : set → set → set, ∀x y z w, x = y → z = w → f x z = f y w
L731
Axiom. (eq_i_tra) We take the following as an axiom:
∀x y z, x = y → y = z → x = z
L732
Definition. We define nSubq to be λX Y ⇒ ¬ Subq X Y of type set → set → prop.
Notation. We use ⊈ as an infix operator with priority 502 and no associativity corresponding to applying term nSubq.
L738
Axiom. (Sing_inv) We take the following as an axiom:
∀x Y, {x} = Y → x ∈ Y ∧ ∀y ∈ Y, y = x
L740
Axiom. (TransSet_In_ordsucc_Subq) We take the following as an axiom:
∀x y, TransSet y → x ∈ ordsucc y → x ⊆ y
L742
Axiom. (inv_Repl_eq) We take the following as an axiom:
∀X, ∀f g : set → set, (∀x ∈ X, f (g x) = x) → {f y|y ∈ {g x|x ∈ X}} = X
L743
Axiom. (invol_Repl_eq) We take the following as an axiom:
∀X, ∀f : set → set, (∀x ∈ X, f (f x) = x) → {f y|y ∈ {f x|x ∈ X}} = X
L744
Axiom. (Eps_i_set_R) We take the following as an axiom:
∀X : set, ∀P : set → prop, ∀x ∈ X, P x → Eps_i (λx ⇒ x ∈ X ∧ P x) ∈ X ∧ P (Eps_i (λx ⇒ x ∈ X ∧ P x))
L746
Axiom. (exandE_i) We take the following as an axiom:
∀P Q : set → prop, (∃x, P x ∧ Q x) → ∀r : prop, (∀x, P x → Q x → r) → r
L748
Axiom. (exandE_ii) We take the following as an axiom:
∀P Q : (set → set) → prop, (∃x : set → set, P x ∧ Q x) → ∀p : prop, (∀x : set → set, P x → Q x → p) → p
L750
Axiom. (exandE_iii) We take the following as an axiom:
∀P Q : (set → set → set) → prop, (∃x : set → set → set, P x ∧ Q x) → ∀p : prop, (∀x : set → set → set, P x → Q x → p) → p
L752
Axiom. (exandE_iiii) We take the following as an axiom:
∀P Q : (set → set → set → set) → prop, (∃x : set → set → set → set, P x ∧ Q x) → ∀p : prop, (∀x : set → set → set → set, P x → Q x → p) → p
L754
Axiom. (exandE_iio) We take the following as an axiom:
∀P Q : (set → set → prop) → prop, (∃x : set → set → prop, P x ∧ Q x) → ∀p : prop, (∀x : set → set → prop, P x → Q x → p) → p
L756
Axiom. (exandE_iiio) We take the following as an axiom:
∀P Q : (set → set → set → prop) → prop, (∃x : set → set → set → prop, P x ∧ Q x) → ∀p : prop, (∀x : set → set → set → prop, P x → Q x → p) → p
Beginning of Section Descr_ii
L760
Variable P : (set → set) → prop
Primitive. The name Descr_ii is a term of type set → set.
L765
Hypothesis Pex : ∃f : set → set, P f
L767
Hypothesis Puniq : ∀f g : set → set, P f → P g → f = g
L768
Axiom. (Descr_ii_prop) We take the following as an axiom:
End of Section Descr_ii
Beginning of Section Descr_iii
L774
Variable P : (set → set → set) → prop
Primitive. The name Descr_iii is a term of type set → set → set.
L779
Hypothesis Pex : ∃f : set → set → set, P f
L781
Hypothesis Puniq : ∀f g : set → set → set, P f → P g → f = g
L782
Axiom. (Descr_iii_prop) We take the following as an axiom:
End of Section Descr_iii
Beginning of Section Descr_iio
L788
Variable P : (set → set → prop) → prop
Primitive. The name Descr_iio is a term of type set → set → prop.
L793
Hypothesis Pex : ∃f : set → set → prop, P f
L795
Hypothesis Puniq : ∀f g : set → set → prop, P f → P g → f = g
L796
Axiom. (Descr_iio_prop) We take the following as an axiom:
End of Section Descr_iio
Beginning of Section Descr_Vo1
L802
Variable P : Vo 1 → prop
Primitive. The name Descr_Vo1 is a term of type Vo 1.
L807
Hypothesis Pex : ∃f : Vo 1, P f
L809
Hypothesis Puniq : ∀f g : Vo 1, P f → P g → f = g
L810
Axiom. (Descr_Vo1_prop) We take the following as an axiom:
End of Section Descr_Vo1
Beginning of Section Descr_Vo2
L816
Variable P : Vo 2 → prop
Primitive. The name Descr_Vo2 is a term of type Vo 2.
L821
Hypothesis Pex : ∃f : Vo 2, P f
L823
Hypothesis Puniq : ∀f g : Vo 2, P f → P g → f = g
L824
Axiom. (Descr_Vo2_prop) We take the following as an axiom:
End of Section Descr_Vo2
Beginning of Section If_ii
L830
Variable p : prop
L832
Variable f g : set → set
Primitive. The name If_ii is a term of type set → set.
L836
Axiom. (If_ii_1) We take the following as an axiom:
p → If_ii = f
L838
Axiom. (If_ii_0) We take the following as an axiom:
¬ p → If_ii = g
End of Section If_ii
Beginning of Section If_iii
L844
Variable p : prop
L846
Variable f g : set → set → set
Primitive. The name If_iii is a term of type set → set → set.
L850
Axiom. (If_iii_1) We take the following as an axiom:
p → If_iii = f
L852
Axiom. (If_iii_0) We take the following as an axiom:
¬ p → If_iii = g
End of Section If_iii
Beginning of Section If_Vo1
L858
Variable p : prop
L860
Variable f g : Vo 1
Primitive. The name If_Vo1 is a term of type Vo 1.
L864
Axiom. (If_Vo1_1) We take the following as an axiom:
p → If_Vo1 = f
L866
Axiom. (If_Vo1_0) We take the following as an axiom:
¬ p → If_Vo1 = g
End of Section If_Vo1
Beginning of Section If_iio
L872
Variable p : prop
L874
Variable f g : set → set → prop
Primitive. The name If_iio is a term of type set → set → prop.
L878
Axiom. (If_iio_1) We take the following as an axiom:
p → If_iio = f
L880
Axiom. (If_iio_0) We take the following as an axiom:
¬ p → If_iio = g
End of Section If_iio
Beginning of Section If_Vo2
L886
Variable p : prop
L888
Variable f g : Vo 2
Primitive. The name If_Vo2 is a term of type Vo 2.
L892
Axiom. (If_Vo2_1) We take the following as an axiom:
p → If_Vo2 = f
L894
Axiom. (If_Vo2_0) We take the following as an axiom:
¬ p → If_Vo2 = g
End of Section If_Vo2
Beginning of Section EpsilonRec_i
L900
Variable F : set → (set → set) → set
Primitive. The name In_rec_i is a term of type set → set.
L905
Hypothesis Fr : ∀X : set, ∀g h : set → set, (∀x ∈ X, g x = h x) → F X g = F X h
L907
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
L913
Variable F : set → (set → (set → set)) → (set → set)
Primitive. The name In_rec_ii is a term of type set → (set → set).
L918
Hypothesis Fr : ∀X : set, ∀g h : set → (set → set), (∀x ∈ X, g x = h x) → F X g = F X h
L920
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
L926
Variable F : set → (set → (set → set → set)) → (set → set → set)
Primitive. The name In_rec_iii is a term of type set → (set → set → set).
L931
Hypothesis Fr : ∀X : set, ∀g h : set → (set → set → set), (∀x ∈ X, g x = h x) → F X g = F X h
L933
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 EpsilonRec_iio
L939
Variable F : set → (set → (set → set → prop)) → (set → set → prop)
Primitive. The name In_rec_iio is a term of type set → (set → set → prop).
L944
Hypothesis Fr : ∀X : set, ∀g h : set → (set → set → prop), (∀x ∈ X, g x = h x) → F X g = F X h
L946
Axiom. (In_rec_iio_eq) We take the following as an axiom:
∀X : set, In_rec_iio X = F X In_rec_iio
End of Section EpsilonRec_iio
Beginning of Section EpsilonRec_Vo1
L952
Variable F : set → (set → Vo 1) → Vo 1
Primitive. The name In_rec_Vo1 is a term of type set → Vo 1.
L957
Hypothesis Fr : ∀X : set, ∀g h : set → Vo 1, (∀x ∈ X, g x = h x) → F X g = F X h
L959
Axiom. (In_rec_Vo1_eq) We take the following as an axiom:
∀X : set, In_rec_Vo1 X = F X In_rec_Vo1
End of Section EpsilonRec_Vo1
Beginning of Section EpsilonRec_Vo2
L965
Variable F : set → (set → Vo 2) → Vo 2
Primitive. The name In_rec_Vo2 is a term of type set → Vo 2.
L970
Hypothesis Fr : ∀X : set, ∀g h : set → Vo 2, (∀x ∈ X, g x = h x) → F X g = F X h
L972
Axiom. (In_rec_Vo2_eq) We take the following as an axiom:
∀X : set, In_rec_Vo2 X = F X In_rec_Vo2
End of Section EpsilonRec_Vo2
Beginning of Section If_Vo3
L978
Variable p : prop
L980
Variable f g : Vo 3
Primitive. The name If_Vo3 is a term of type Vo 3.
L984
Axiom. (If_Vo3_1) We take the following as an axiom:
p → If_Vo3 = f
L986
Axiom. (If_Vo3_0) We take the following as an axiom:
¬ p → If_Vo3 = g
End of Section If_Vo3
Beginning of Section Descr_Vo3
L992
Variable P : Vo 3 → prop
Primitive. The name Descr_Vo3 is a term of type Vo 3.
L997
Hypothesis Pex : ∃f : Vo 3, P f
L999
Hypothesis Puniq : ∀f g : Vo 3, P f → P g → f = g
L1000
Axiom. (Descr_Vo3_prop) We take the following as an axiom:
End of Section Descr_Vo3
Beginning of Section EpsilonRec_Vo3
L1006
Variable F : set → (set → Vo 3) → Vo 3
Primitive. The name In_rec_Vo3 is a term of type set → Vo 3.
L1011
Hypothesis Fr : ∀X : set, ∀g h : set → Vo 3, (∀x ∈ X, g x = h x) → F X g = F X h
L1013
Axiom. (In_rec_Vo3_eq) We take the following as an axiom:
∀X : set, In_rec_Vo3 X = F X In_rec_Vo3
End of Section EpsilonRec_Vo3
Beginning of Section If_Vo4
L1019
Variable p : prop
L1021
Variable f g : Vo 4
Primitive. The name If_Vo4 is a term of type Vo 4.
L1025
Axiom. (If_Vo4_1) We take the following as an axiom:
p → If_Vo4 = f
L1027
Axiom. (If_Vo4_0) We take the following as an axiom:
¬ p → If_Vo4 = g
End of Section If_Vo4
Beginning of Section Descr_Vo4
L1032
Variable P : Vo 4 → prop
Primitive. The name Descr_Vo4 is a term of type Vo 4.
L1037
Hypothesis Pex : ∃f : Vo 4, P f
L1039
Hypothesis Puniq : ∀f g : Vo 4, P f → P g → f = g
L1040
Axiom. (Descr_Vo4_prop) We take the following as an axiom:
End of Section Descr_Vo4
Beginning of Section EpsilonRec_Vo4
L1046
Variable F : set → (set → Vo 4) → Vo 4
Primitive. The name In_rec_Vo4 is a term of type set → Vo 4.
L1051
Hypothesis Fr : ∀X : set, ∀g h : set → Vo 4, (∀x ∈ X, g x = h x) → F X g = F X h
L1053
Axiom. (In_rec_Vo4_eq) We take the following as an axiom:
∀X : set, In_rec_Vo4 X = F X In_rec_Vo4
End of Section EpsilonRec_Vo4
L1057
Definition. We define bigintersect to be λ(D : (set → prop) → prop)(x : set) ⇒ ∀P : set → prop, D P → P x.
L1059
Definition. We define reflexive to be λR ⇒ ∀x : set, R x x of type (set → set → prop) → prop.
L1061
Definition. We define irreflexive to be λR ⇒ ∀x : set, ¬ R x x of type (set → set → prop) → prop.
L1062
Definition. We define symmetric to be λR ⇒ ∀x y : set, R x y → R y x of type (set → set → prop) → prop.
L1063
Definition. We define antisymmetric to be λR ⇒ ∀x y : set, R x y → R y x → x = y of type (set → set → prop) → prop.
L1064
Definition. We define transitive to be λR ⇒ ∀x y z : set, R x y → R y z → R x z of type (set → set → prop) → prop.
L1065
Definition. We define eqreln to be λR ⇒ reflexive R ∧ symmetric R ∧ transitive R of type (set → set → prop) → prop.
L1066
Definition. We define per to be λR ⇒ symmetric R ∧ transitive R of type (set → set → prop) → prop.
L1067
Definition. We define linear to be λR ⇒ ∀x y : set, R x y ∨ R y x of type (set → set → prop) → prop.
L1068
Definition. We define trichotomous_or to be λR ⇒ ∀x y : set, R x y ∨ x = y ∨ R y x of type (set → set → prop) → prop.
L1069
Definition. We define partialorder to be λR ⇒ reflexive R ∧ antisymmetric R ∧ transitive R of type (set → set → prop) → prop.
L1070
Definition. We define totalorder to be λR ⇒ partialorder R ∧ linear R of type (set → set → prop) → prop.
L1071
Definition. We define strictpartialorder to be λR ⇒ irreflexive R ∧ transitive R of type (set → set → prop) → prop.
L1072
Definition. We define stricttotalorder to be λR ⇒ strictpartialorder R ∧ trichotomous_or R of type (set → set → prop) → prop.
L1073
Axiom. (per_sym) We take the following as an axiom:
∀R : set → set → prop, per R → symmetric R
L1075
Axiom. (per_tra) We take the following as an axiom:
∀R : set → set → prop, per R → transitive R
L1077
Axiom. (per_stra1) We take the following as an axiom:
∀R : set → set → prop, per R → ∀x y z : set, R y x → R y z → R x z
L1079
Axiom. (per_stra2) We take the following as an axiom:
∀R : set → set → prop, per R → ∀x y z : set, R x y → R z y → R x z
L1081
Axiom. (per_stra3) We take the following as an axiom:
∀R : set → set → prop, per R → ∀x y z : set, R y x → R z y → R x z
L1083
Axiom. (per_ref1) We take the following as an axiom:
∀R : set → set → prop, per R → ∀x y : set, R x y → R x x
L1085
Axiom. (per_ref2) We take the following as an axiom:
∀R : set → set → prop, per R → ∀x y : set, R x y → R y y
L1087
Axiom. (partialorder_strictpartialorder) We take the following as an axiom:
∀R : set → set → prop, partialorder R → strictpartialorder (λx y ⇒ R x y ∧ x ≠ y)
L1090
Definition. We define reflclos to be λR x y ⇒ R x y ∨ x = y of type (set → set → prop) → (set → set → prop).
L1092
Axiom. (reflclos_refl) We take the following as an axiom:
∀R : set → set → prop, reflexive (reflclos R)
L1094
Axiom. (reflclos_min) We take the following as an axiom:
∀R S : set → set → prop, R ⊆ S → reflexive S → reflclos R ⊆ S
L1096
Axiom. (strictpartialorder_partialorder_reflclos) We take the following as an axiom:
∀R : set → set → prop, strictpartialorder R → partialorder (reflclos R)
L1098
Axiom. (stricttotalorder_totalorder_reflclos) We take the following as an axiom:
∀R : set → set → prop, stricttotalorder R → totalorder (reflclos R)
Beginning of Section Zermelo1908
Primitive. The name ZermeloWO is a term of type set → set → prop.
L1106
Axiom. (ZermeloWO_Eps) We take the following as an axiom:
∀a : set, (Eps_i (ZermeloWO a)) = a
L1108
Axiom. (ZermeloWO_ref) We take the following as an axiom:
L1109
Axiom. (ZermeloWO_lin) We take the following as an axiom:
L1110
Axiom. (ZermeloWO_tra) We take the following as an axiom:
L1111
Axiom. (ZermeloWO_antisym) We take the following as an axiom:
L1112
Axiom. (ZermeloWO_partialorder) We take the following as an axiom:
L1113
Axiom. (ZermeloWO_totalorder) We take the following as an axiom:
L1114
Axiom. (ZermeloWO_wo) We take the following as an axiom:
∀p : set → prop, (∃x : set, p x) → ∃x : set, p x ∧ ∀y : set, p y → ZermeloWO x y
L1115
L1117
L1119
L1120
Axiom. (ZermeloWOstrict_wo) We take the following as an axiom:
∀p : set → prop, (∃x : set, p x) → ∃x : set, p x ∧ ∀y : set, p y ∧ y ≠ x → ZermeloWOstrict x y
L1121
Axiom. (Zermelo_WO) We take the following as an axiom:
∃r : set → set → prop, totalorder r ∧ (∀p : set → prop, (∃x : set, p x) → ∃x : set, p x ∧ ∀y : set, p y → r x y)
L1125
Axiom. (Zermelo_WO_strict) We take the following as an axiom:
∃r : set → set → prop, stricttotalorder r ∧ (∀p : set → prop, (∃x : set, p x) → ∃x : set, p x ∧ ∀y : set, p y ∧ y ≠ x → r x y)
End of Section Zermelo1908
L1131
Axiom. (eq_imp_or) We take the following as an axiom:
(λx y : prop ⇒ (x → y)) = (λx y : prop ⇒ (¬ x ∨ y))
L1133
Axiom. (famunion_Empty) We take the following as an axiom:
∀F : set → set, (⋃x ∈ 0F x) = 0
L1135
Axiom. (Empty_or_ex) We take the following as an axiom:
∀X : set, X = Empty ∨ ∃x : set, x ∈ X
L1137
Axiom. (nIn_0_0) We take the following as an axiom:
L1139
Axiom. (nIn_1_0) We take the following as an axiom:
L1140
Axiom. (nIn_2_0) We take the following as an axiom:
L1141
Axiom. (nIn_1_1) We take the following as an axiom:
L1142
Axiom. (nIn_2_2) We take the following as an axiom:
L1143
Axiom. (Subq_0_0) We take the following as an axiom:
L1144
Axiom. (Subq_0_1) We take the following as an axiom:
L1145
Axiom. (Subq_0_2) We take the following as an axiom:
L1146
Axiom. (nSubq_1_0) We take the following as an axiom:
L1147
Axiom. (Subq_1_1) We take the following as an axiom:
L1148
Axiom. (Subq_1_2) We take the following as an axiom:
L1149
Axiom. (nSubq_2_0) We take the following as an axiom:
L1150
Axiom. (nSubq_2_1) We take the following as an axiom:
L1151
Axiom. (Subq_2_2) We take the following as an axiom:
L1152
Axiom. (In_0_7) We take the following as an axiom:
L1153
Axiom. (In_1_7) We take the following as an axiom:
L1154
Axiom. (In_2_7) We take the following as an axiom:
L1155
Axiom. (In_3_7) We take the following as an axiom:
L1156
Axiom. (In_4_7) We take the following as an axiom:
L1157
Axiom. (In_5_7) We take the following as an axiom:
L1158
Axiom. (In_6_7) We take the following as an axiom:
L1159
Axiom. (In_0_8) We take the following as an axiom:
L1160
Axiom. (In_1_8) We take the following as an axiom:
L1161
Axiom. (In_2_8) We take the following as an axiom:
L1162
Axiom. (In_3_8) We take the following as an axiom:
L1163
Axiom. (In_4_8) We take the following as an axiom:
L1164
Axiom. (In_5_8) We take the following as an axiom:
L1165
Axiom. (In_6_8) We take the following as an axiom:
L1166
Axiom. (In_7_8) We take the following as an axiom:
L1167
Axiom. (In_0_9) We take the following as an axiom:
L1168
Axiom. (In_1_9) We take the following as an axiom:
L1169
Axiom. (In_2_9) We take the following as an axiom:
L1170
Axiom. (In_3_9) We take the following as an axiom:
L1171
Axiom. (In_4_9) We take the following as an axiom:
L1172
Axiom. (In_5_9) We take the following as an axiom:
L1173
Axiom. (In_6_9) We take the following as an axiom:
L1174
Axiom. (In_7_9) We take the following as an axiom:
L1175
Axiom. (In_8_9) We take the following as an axiom:
Beginning of Section NatRec
L1178
Variable z : set
L1180
Variable f : set → set → set
L1181
Let F : set → (set → set) → set ≝ λn g ⇒ if ⋃ n ∈ n then f (⋃ n) (g (⋃ n)) else z
L1182
Definition. We define nat_primrec to be In_rec_i F of type set → set.
L1184
Axiom. (nat_primrec_r) We take the following as an axiom:
∀X : set, ∀g h : set → set, (∀x ∈ X, g x = h x) → F X g = F X h
L1186
Axiom. (nat_primrec_0) We take the following as an axiom:
L1188
Axiom. (nat_primrec_S) We take the following as an axiom:
∀n : set, nat_p n → nat_primrec (ordsucc n) = f n (nat_primrec n)
End of Section NatRec
Beginning of Section NatArith
L1194
Definition. We define add_nat to be λn m : set ⇒ nat_primrec n (λ_ r ⇒ ordsucc r) m of type set → set → set.
Notation. We use + as an infix operator with priority 360 and which associates to the right corresponding to applying term add_nat.
L1198
Axiom. (add_nat_0R) We take the following as an axiom:
∀n : set, n + 0 = n
L1200
Axiom. (add_nat_SR) We take the following as an axiom:
∀n m : set, nat_p m → n + ordsucc m = ordsucc (n + m)
L1202
Axiom. (add_nat_p) We take the following as an axiom:
∀n : set, nat_p n → ∀m : set, nat_p m → nat_p (n + m)
L1204
Axiom. (add_nat_asso) We take the following as an axiom:
∀n : set, nat_p n → ∀m : set, nat_p m → ∀k : set, nat_p k → (n + m) + k = n + (m + k)
L1206
Axiom. (add_nat_0L) We take the following as an axiom:
∀m : set, nat_p m → 0 + m = m
L1208
Axiom. (add_nat_SL) We take the following as an axiom:
∀n : set, nat_p n → ∀m : set, nat_p m → ordsucc n + m = ordsucc (n + m)
L1210
Axiom. (add_nat_com) We take the following as an axiom:
∀n : set, nat_p n → ∀m : set, nat_p m → n + m = m + n
L1212
Definition. We define mul_nat to be λn m : set ⇒ nat_primrec 0 (λ_ r ⇒ n + r) m of type set → set → set.
Notation. We use * as an infix operator with priority 355 and which associates to the right corresponding to applying term mul_nat.
L1216
Axiom. (mul_nat_0R) We take the following as an axiom:
∀n : set, n * 0 = 0
L1218
Axiom. (mul_nat_SR) We take the following as an axiom:
∀n m : set, nat_p m → n * ordsucc m = n + n * m
L1220
Axiom. (mul_nat_p) We take the following as an axiom:
∀n : set, nat_p n → ∀m : set, nat_p m → nat_p (n * m)
L1222
Axiom. (mul_nat_0L) We take the following as an axiom:
∀m : set, nat_p m → 0 * m = 0
L1224
Axiom. (mul_nat_SL) We take the following as an axiom:
∀n : set, nat_p n → ∀m : set, nat_p m → ordsucc n * m = n * m + m
L1226
Axiom. (mul_nat_com) We take the following as an axiom:
∀n : set, nat_p n → ∀m : set, nat_p m → n * m = m * n
L1228
Axiom. (mul_add_nat_distrL) We take the following as an axiom:
∀n : set, nat_p n → ∀m : set, nat_p m → ∀k : set, nat_p k → n * (m + k) = n * m + n * k
L1230
Axiom. (mul_add_nat_distrR) We take the following as an axiom:
∀n : set, nat_p n → ∀m : set, nat_p m → ∀k : set, nat_p k → (n + m) * k = n * k + m * k
L1232
Axiom. (mul_nat_asso) We take the following as an axiom:
∀n : set, nat_p n → ∀m : set, nat_p m → ∀k : set, nat_p k → (n * m) * k = n * (m * k)
L1234
Axiom. (add_nat_1_1_2) We take the following as an axiom:
1 + 1 = 2
L1236
Definition. We define divides_nat to be λm n ⇒ m ∈ omega ∧ n ∈ omega ∧ ∃k ∈ omega, m * k = n of type set → set → prop.
L1239
Definition. We define prime_nat to be λn ⇒ n ∈ omega ∧ 1 ∈ n ∧ ∀k ∈ omega, divides_nat k n → k = 1 ∨ k = n of type set → prop.
L1242
Definition. We define coprime_nat to be λa b ⇒ a ∈ omega ∧ b ∈ omega ∧ ∀x ∈ omega ∖ 1, divides_nat x a → divides_nat x b → x = 1 of type set → set → prop.
L1244
Definition. We define equiv_nat_mod to be λm k n ⇒ m ∈ omega ∧ k ∈ omega ∧ n ∈ omega ∧ ((∃q ∈ omega, m + q * n = k) ∨ (∃q ∈ omega, k + q * n = m)) of type set → set → set → prop.
L1249
Definition. We define exp_nat to be λn m : set ⇒ nat_primrec 1 (λ_ r ⇒ n * r) m of type set → set → set.
Notation. We use ^ as an infix operator with priority 342 and which associates to the right corresponding to applying term exp_nat.
L1253
Definition. We define even_nat to be λn ⇒ n ∈ omega ∧ ∃m ∈ omega, n = 2 * m of type set → prop.
L1255
Definition. We define odd_nat to be λn ⇒ n ∈ omega ∧ ∀m ∈ omega, n ≠ 2 * m of type set → prop.
L1256
Definition. We define nat_factorial to be λn ⇒ nat_primrec 1 (λk r ⇒ ordsucc k * r) n of type set → set.
End of Section NatArith
L1260
Axiom. (PigeonHole_nat) We take the following as an axiom:
∀n, nat_p n → ∀f : set → set, (∀i ∈ ordsucc n, f i ∈ n) → ¬ (∀i j ∈ ordsucc n, f i = f j → i = j)
L1262
Axiom. (PigeonHole_nat_bij) We take the following as an axiom:
∀n, nat_p n → ∀f : set → set, (∀i ∈ n, f i ∈ n) → (∀i j ∈ n, f i = f j → i = j) → bij n n f
L1264
Axiom. (cases_7) We take the following as an axiom:
∀i ∈ 7, ∀p : set → prop, p 0 → p 1 → p 2 → p 3 → p 4 → p 5 → p 6 → p i
L1266
Axiom. (cases_8) We take the following as an axiom:
∀i ∈ 8, ∀p : set → prop, p 0 → p 1 → p 2 → p 3 → p 4 → p 5 → p 6 → p 7 → p i
L1267
Axiom. (cases_9) We take the following as an axiom:
∀i ∈ 9, ∀p : set → prop, p 0 → p 1 → p 2 → p 3 → p 4 → p 5 → p 6 → p 7 → p 8 → p i
L1268
Axiom. (nIn_2_1) We take the following as an axiom:
L1270
Axiom. (neq_6_0) We take the following as an axiom:
L1271
Axiom. (neq_6_1) We take the following as an axiom:
L1272
Axiom. (neq_6_2) We take the following as an axiom:
L1273
Axiom. (neq_6_3) We take the following as an axiom:
L1274
Axiom. (neq_6_4) We take the following as an axiom:
L1275
Axiom. (neq_6_5) We take the following as an axiom:
L1276
Axiom. (neq_7_0) We take the following as an axiom:
L1277
Axiom. (neq_7_1) We take the following as an axiom:
L1278
Axiom. (neq_7_2) We take the following as an axiom:
L1279
Axiom. (neq_7_3) We take the following as an axiom:
L1280
Axiom. (neq_7_4) We take the following as an axiom:
L1281
Axiom. (neq_7_5) We take the following as an axiom:
L1282
Axiom. (neq_7_6) We take the following as an axiom:
L1283
Axiom. (neq_8_0) We take the following as an axiom:
L1284
Axiom. (neq_8_1) We take the following as an axiom:
L1285
Axiom. (neq_8_2) We take the following as an axiom:
L1286
Axiom. (neq_8_3) We take the following as an axiom:
L1287
Axiom. (neq_8_4) We take the following as an axiom:
L1288
Axiom. (neq_8_5) We take the following as an axiom:
L1289
Axiom. (neq_8_6) We take the following as an axiom:
L1290
Axiom. (neq_8_7) We take the following as an axiom:
L1291
Axiom. (neq_9_0) We take the following as an axiom:
L1292
Axiom. (neq_9_1) We take the following as an axiom:
L1293
Axiom. (neq_9_2) We take the following as an axiom:
L1294
Axiom. (neq_9_3) We take the following as an axiom:
L1295
Axiom. (neq_9_4) We take the following as an axiom:
L1296
Axiom. (neq_9_5) We take the following as an axiom:
L1297
Axiom. (neq_9_6) We take the following as an axiom:
L1298
Axiom. (neq_9_7) We take the following as an axiom:
L1299
Axiom. (neq_9_8) We take the following as an axiom:
L1300
Axiom. (Subq_1_Sing0) We take the following as an axiom:
L1301
Axiom. (Subq_Sing0_1) We take the following as an axiom:
L1302
Axiom. (eq_1_Sing0) We take the following as an axiom:
L1303
Axiom. (Subq_2_UPair01) We take the following as an axiom:
L1304
Axiom. (Subq_UPair01_2) We take the following as an axiom:
L1305
Axiom. (eq_2_UPair01) We take the following as an axiom:
L1306
Axiom. (ordinal_ind) We take the following as an axiom:
∀p : set → prop, (∀alpha, ordinal alpha → (∀beta ∈ alpha, p beta) → p alpha) → ∀alpha, ordinal alpha → p alpha
L1310
Axiom. (least_ordinal_ex) We take the following as an axiom:
∀p : set → prop, (∃alpha, ordinal alpha ∧ p alpha) → ∃alpha, ordinal alpha ∧ p alpha ∧ ∀beta ∈ alpha, ¬ p beta
L1312
Axiom. (ordinal_trichotomy_or_impred) We take the following as an axiom:
∀alpha beta, ordinal alpha → ordinal beta → ∀p : prop, (alpha ∈ beta → p) → (alpha = beta → p) → (beta ∈ alpha → p) → p
L1314
Axiom. (ordinal_trichotomy) We take the following as an axiom:
∀alpha beta : set, ordinal alpha → ordinal beta → exactly1of3 (alpha ∈ beta) (alpha = beta) (beta ∈ alpha)
L1317
Definition. We define Inj1 to be In_rec_i (λX f ⇒ {0} ∪ {f x|x ∈ X}) of type set → set.
L1320
Axiom. (Inj1_eq) We take the following as an axiom:
∀X : set, Inj1 X = {0} ∪ {Inj1 x|x ∈ X}
L1322
Axiom. (Inj1I1) We take the following as an axiom:
∀X : set, 0 ∈ Inj1 X
L1323
Axiom. (Inj1I2) We take the following as an axiom:
∀X x : set, x ∈ X → Inj1 x ∈ Inj1 X
L1324
Axiom. (Inj1E) We take the following as an axiom:
∀X y : set, y ∈ Inj1 X → y = 0 ∨ ∃x ∈ X, y = Inj1 x
L1325
Axiom. (Inj1NE1) We take the following as an axiom:
∀x : set, Inj1 x ≠ 0
L1326
Axiom. (Inj1NE2) We take the following as an axiom:
∀x : set, Inj1 x ∉ {0}
L1327
Definition. We define Inj0 to be λX ⇒ {Inj1 x|x ∈ X} of type set → set.
L1330
Axiom. (Inj0I) We take the following as an axiom:
∀X x : set, x ∈ X → Inj1 x ∈ Inj0 X
L1332
Axiom. (Inj0E) We take the following as an axiom:
∀X y : set, y ∈ Inj0 X → ∃x : set, x ∈ X ∧ y = Inj1 x
L1333
Definition. We define Unj to be In_rec_i (λX f ⇒ {f x|x ∈ X ∖ {0}}) of type set → set.
L1336
Axiom. (Unj_eq) We take the following as an axiom:
∀X : set, Unj X = {Unj x|x ∈ X ∖ {0}}
L1338
Axiom. (Unj_Inj1_eq) We take the following as an axiom:
∀X : set, Unj (Inj1 X) = X
L1339
Axiom. (Inj1_inj) We take the following as an axiom:
∀X Y : set, Inj1 X = Inj1 Y → X = Y
L1340
Axiom. (Unj_Inj0_eq) We take the following as an axiom:
∀X : set, Unj (Inj0 X) = X
L1341
Axiom. (Inj0_inj) We take the following as an axiom:
∀X Y : set, Inj0 X = Inj0 Y → X = Y
L1342
Axiom. (Inj0_0) We take the following as an axiom:
L1343
Axiom. (Inj0_Inj1_neq) We take the following as an axiom:
∀X Y : set, Inj0 X ≠ Inj1 Y
L1344
Definition. We define setsum to be λX Y ⇒ {Inj0 x|x ∈ X} ∪ {Inj1 y|y ∈ Y} of type set → set → set.
Notation. We use + as an infix operator with priority 450 and which associates to the left corresponding to applying term setsum.
L1350
Axiom. (Inj0_setsum) We take the following as an axiom:
∀X Y x : set, x ∈ X → Inj0 x ∈ X + Y
L1352
Axiom. (Inj1_setsum) We take the following as an axiom:
∀X Y y : set, y ∈ Y → Inj1 y ∈ X + Y
L1353
Axiom. (setsum_Inj_inv) We take the following as an axiom:
∀X Y z : set, z ∈ X + Y → (∃x ∈ X, z = Inj0 x) ∨ (∃y ∈ Y, z = Inj1 y)
L1354
Axiom. (Inj0_setsum_0L) We take the following as an axiom:
∀X : set, 0 + X = Inj0 X
L1356
Axiom. (Inj1_setsum_1L) We take the following as an axiom:
∀X : set, 1 + X = Inj1 X
L1357
Axiom. (nat_setsum1_ordsucc) We take the following as an axiom:
∀n : set, nat_p n → 1 + n = ordsucc n
L1358
Axiom. (setsum_0_0) We take the following as an axiom:
0 + 0 = 0
L1359
Axiom. (setsum_1_0_1) We take the following as an axiom:
1 + 0 = 1
L1360
Axiom. (setsum_1_1_2) We take the following as an axiom:
1 + 1 = 2
L1361
Axiom. (setsum_mon) We take the following as an axiom:
∀X Y W Z, X ⊆ W → Y ⊆ Z → X + Y ⊆ W + Z
L1362
Definition. We define combine_funcs to be λX Y f g z ⇒ if z = Inj0 (Unj z) then f (Unj z) else g (Unj z) of type set → set → (set → set) → (set → set) → set → set.
L1366
Axiom. (combine_funcs_eq1) We take the following as an axiom:
∀X Y, ∀f g : set → set, ∀x, combine_funcs X Y f g (Inj0 x) = f x
L1369
Axiom. (combine_funcs_eq2) We take the following as an axiom:
∀X Y, ∀f g : set → set, ∀y, combine_funcs X Y f g (Inj1 y) = g y
Beginning of Section pair_setsum
L1374
Let pair ≝ setsum
L1376
Axiom. (pair_0_0) We take the following as an axiom:
pair 0 0 = 0
L1378
Axiom. (pair_1_0_1) We take the following as an axiom:
pair 1 0 = 1
L1379
Axiom. (pair_1_1_2) We take the following as an axiom:
pair 1 1 = 2
L1380
Axiom. (nat_pair1_ordsucc) We take the following as an axiom:
∀n : set, nat_p n → pair 1 n = ordsucc n
L1381
Definition. We define proj0 to be λZ ⇒ {Unj z|z ∈ Z, ∃x : set, Inj0 x = z} of type set → set.
L1383
Definition. We define proj1 to be λZ ⇒ {Unj z|z ∈ Z, ∃y : set, Inj1 y = z} of type set → set.
L1384
Axiom. (Inj0_pair_0_eq) We take the following as an axiom:
Inj0 = pair 0
L1386
Axiom. (Inj1_pair_1_eq) We take the following as an axiom:
Inj1 = pair 1
L1387
Axiom. (pairI0) We take the following as an axiom:
∀X Y x, x ∈ X → pair 0 x ∈ pair X Y
L1388
Axiom. (pairI1) We take the following as an axiom:
∀X Y y, y ∈ Y → pair 1 y ∈ pair X Y
L1389
Axiom. (pairE) We take the following as an axiom:
∀X Y z, z ∈ pair X Y → (∃x ∈ X, z = pair 0 x) ∨ (∃y ∈ Y, z = pair 1 y)
L1390
Axiom. (pairE0) We take the following as an axiom:
∀X Y x, pair 0 x ∈ pair X Y → x ∈ X
L1391
Axiom. (pairE1) We take the following as an axiom:
∀X Y y, pair 1 y ∈ pair X Y → y ∈ Y
L1392
Axiom. (pairEq) We take the following as an axiom:
∀X Y z, z ∈ pair X Y ↔ (∃x ∈ X, z = pair 0 x) ∨ (∃y ∈ Y, z = pair 1 y)
L1393
Axiom. (pairSubq) We take the following as an axiom:
∀X Y W Z, X ⊆ W → Y ⊆ Z → pair X Y ⊆ pair W Z
L1394
Axiom. (proj0I) We take the following as an axiom:
∀w u : set, pair 0 u ∈ w → u ∈ proj0 w
L1395
Axiom. (proj0E) We take the following as an axiom:
∀w u : set, u ∈ proj0 w → pair 0 u ∈ w
L1396
Axiom. (proj1I) We take the following as an axiom:
∀w u : set, pair 1 u ∈ w → u ∈ proj1 w
L1397
Axiom. (proj1E) We take the following as an axiom:
∀w u : set, u ∈ proj1 w → pair 1 u ∈ w
L1398
Axiom. (proj0_pair_eq) We take the following as an axiom:
∀X Y : set, proj0 (pair X Y) = X
L1399
Axiom. (proj1_pair_eq) We take the following as an axiom:
∀X Y : set, proj1 (pair X Y) = Y
L1400
Axiom. (pair_inj) We take the following as an axiom:
∀x y w z : set, pair x y = pair w z → x = w ∧ y = z
L1401
Axiom. (pair_eta_Subq_proj) We take the following as an axiom:
∀w, pair (proj0 w) (proj1 w) ⊆ w
L1402
Definition. We define Sigma to be λX Y ⇒ ⋃x ∈ X{pair x y|y ∈ Y x} of type set → (set → set) → set.
Notation. We use ∑ x...y [possibly with ascriptions] , B as a binder notation corresponding to a term constructed using Sigma.
L1409
Axiom. (pair_Sigma) We take the following as an axiom:
∀X : set, ∀Y : set → set, ∀x ∈ X, ∀y ∈ Y x, pair x y ∈ ∑x ∈ X, Y x
L1411
Axiom. (Sigma_eta_proj0_proj1) We take the following as an axiom:
∀X : set, ∀Y : set → set, ∀z ∈ (∑x ∈ X, Y x), pair (proj0 z) (proj1 z) = z ∧ proj0 z ∈ X ∧ proj1 z ∈ Y (proj0 z)
L1413
Axiom. (proj_Sigma_eta) We take the following as an axiom:
∀X : set, ∀Y : set → set, ∀z ∈ (∑x ∈ X, Y x), pair (proj0 z) (proj1 z) = z
L1415
Axiom. (proj0_Sigma) We take the following as an axiom:
∀X : set, ∀Y : set → set, ∀z : set, z ∈ (∑x ∈ X, Y x) → proj0 z ∈ X
L1417
Axiom. (proj1_Sigma) We take the following as an axiom:
∀X : set, ∀Y : set → set, ∀z : set, z ∈ (∑x ∈ X, Y x) → proj1 z ∈ Y (proj0 z)
L1419
Axiom. (pair_Sigma_E0) We take the following as an axiom:
∀X : set, ∀Y : set → set, ∀x y : set, pair x y ∈ (∑x ∈ X, Y x) → x ∈ X
L1421
Axiom. (pair_Sigma_E1) We take the following as an axiom:
∀X : set, ∀Y : set → set, ∀x y : set, pair x y ∈ (∑x ∈ X, Y x) → y ∈ Y x
L1423
Axiom. (Sigma_E) We take the following as an axiom:
∀X : set, ∀Y : set → set, ∀z : set, z ∈ (∑x ∈ X, Y x) → ∃x ∈ X, ∃y ∈ Y x, z = pair x y
L1425
Axiom. (Sigma_Eq) We take the following as an axiom:
∀X : set, ∀Y : set → set, ∀z : set, z ∈ (∑x ∈ X, Y x) ↔ ∃x ∈ X, ∃y ∈ Y x, z = pair x y
L1427
Axiom. (Sigma_mon) We take the following as an axiom:
∀X Y : set, X ⊆ Y → ∀Z W : set → set, (∀x ∈ X, Z x ⊆ W x) → (∑x ∈ X, Z x) ⊆ ∑y ∈ Y, W y
L1430
Axiom. (Sigma_mon0) We take the following as an axiom:
∀X Y : set, X ⊆ Y → ∀Z : set → set, (∑x ∈ X, Z x) ⊆ ∑y ∈ Y, Z y
L1432
Axiom. (Sigma_mon1) We take the following as an axiom:
∀X : set, ∀Z W : set → set, (∀x, x ∈ X → Z x ⊆ W x) → (∑x ∈ X, Z x) ⊆ ∑x ∈ X, W x
L1434
Axiom. (Sigma_Power_1) We take the following as an axiom:
∀X : set, X ∈ 𝒫 1 → ∀Y : set → set, (∀x ∈ X, Y x ∈ 𝒫 1) → (∑x ∈ X, Y x) ∈ 𝒫 1
L1436
Definition. We define setprod to be λX Y : set ⇒ ∑x ∈ X, Y of type set → set → set.
Notation. We use ⨯ as an infix operator with priority 440 and which associates to the left corresponding to applying term setprod.
L1441
Axiom. (pair_setprod) We take the following as an axiom:
∀X Y : set, ∀(x ∈ X)(y ∈ Y), pair x y ∈ X ⨯ Y
L1443
Axiom. (proj0_setprod) We take the following as an axiom:
∀X Y : set, ∀z ∈ X ⨯ Y, proj0 z ∈ X
L1445
Axiom. (proj1_setprod) We take the following as an axiom:
∀X Y : set, ∀z ∈ X ⨯ Y, proj1 z ∈ Y
L1447
Axiom. (pair_setprod_E0) We take the following as an axiom:
∀X Y x y : set, pair x y ∈ X ⨯ Y → x ∈ X
L1449
Axiom. (pair_setprod_E1) We take the following as an axiom:
∀X Y x y : set, pair x y ∈ X ⨯ Y → y ∈ Y
L1451
Let lam : set → (set → set) → set ≝ Sigma
L1454
Definition. We define ap to be λf x ⇒ {proj1 z|z ∈ f, ∃y : set, z = pair x y} of type set → set → set.
Notation. When x is a set, a term x y is notation for ap x y.
Notation. λ x ∈ A ⇒ B is notation for the set Sigma A (λ x : 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.
L1460
Axiom. (lamI) We take the following as an axiom:
∀X : set, ∀F : set → set, ∀x ∈ X, ∀y ∈ F x, pair x y ∈ λx ∈ X ⇒ F x
L1462
Axiom. (lamE) We take the following as an axiom:
∀X : set, ∀F : set → set, ∀z : set, z ∈ (λx ∈ X ⇒ F x) → ∃x ∈ X, ∃y ∈ F x, z = pair x y
L1464
Axiom. (lamEq) We take the following as an axiom:
∀X : set, ∀F : set → set, ∀z, z ∈ (λx ∈ X ⇒ F x) ↔ ∃x ∈ X, ∃y ∈ F x, z = pair x y
L1466
Axiom. (apI) We take the following as an axiom:
∀f x y, pair x y ∈ f → y ∈ f x
L1468
Axiom. (apE) We take the following as an axiom:
∀f x y, y ∈ f x → pair x y ∈ f
L1470
Axiom. (apEq) We take the following as an axiom:
∀f x y, y ∈ f x ↔ pair x y ∈ f
L1472
Axiom. (beta) We take the following as an axiom:
∀X : set, ∀F : set → set, ∀x : set, x ∈ X → (λx ∈ X ⇒ F x) x = F x
L1474
Axiom. (beta0) We take the following as an axiom:
∀X : set, ∀F : set → set, ∀x : set, x ∉ X → (λx ∈ X ⇒ F x) x = 0
L1476
Axiom. (proj0_ap_0) We take the following as an axiom:
∀u, proj0 u = u 0
L1478
Axiom. (proj1_ap_1) We take the following as an axiom:
∀u, proj1 u = u 1
L1480
Axiom. (pair_ap_0) We take the following as an axiom:
∀x y : set, (pair x y) 0 = x
L1482
Axiom. (pair_ap_1) We take the following as an axiom:
∀x y : set, (pair x y) 1 = y
L1484
Axiom. (pair_ap_n2) We take the following as an axiom:
∀x y i : set, i ∉ 2 → (pair x y) i = 0
L1486
Axiom. (ap0_Sigma) We take the following as an axiom:
∀X : set, ∀Y : set → set, ∀z : set, z ∈ (∑x ∈ X, Y x) → (z 0) ∈ X
L1488
Axiom. (ap1_Sigma) We take the following as an axiom:
∀X : set, ∀Y : set → set, ∀z : set, z ∈ (∑x ∈ X, Y x) → (z 1) ∈ (Y (z 0))
L1490
Definition. We define pair_p to be λu : set ⇒ pair (u 0) (u 1) = u of type set → prop.
L1493
Axiom. (pair_p_I) We take the following as an axiom:
∀x y, pair_p (pair x y)
L1495
Axiom. (pair_p_I2) We take the following as an axiom:
∀w, (∀u ∈ w, pair_p u ∧ u 0 ∈ 2) → pair_p w
L1497
Axiom. (pair_p_In_ap) We take the following as an axiom:
∀w f, pair_p w → w ∈ f → w 1 ∈ ap f (w 0)
L1499
Definition. We define tuple_p to be λn u ⇒ ∀z ∈ u, ∃i ∈ n, ∃x : set, z = pair i x of type set → set → prop.
L1502
Axiom. (pair_p_tuple2) We take the following as an axiom:
L1504
Axiom. (tuple_p_2_tuple) We take the following as an axiom:
∀x y : set, tuple_p 2 (x,y)
L1506
Axiom. (tuple_pair) We take the following as an axiom:
∀x y : set, pair x y = (x,y)
L1508
Definition. We define Pi to be λX Y ⇒ {f ∈ 𝒫 (∑x ∈ X, ⋃ (Y x))|∀x ∈ X, f x ∈ Y x} of type set → (set → set) → set.
Notation. We use ∏ x...y [possibly with ascriptions] , B as a binder notation corresponding to a term constructed using Pi.
L1513
Axiom. (PiI) We take the following as an axiom:
∀X : set, ∀Y : set → set, ∀f : set, (∀u ∈ f, pair_p u ∧ u 0 ∈ X) → (∀x ∈ X, f x ∈ Y x) → f ∈ ∏x ∈ X, Y x
L1516
Axiom. (PiE) We take the following as an axiom:
∀X : set, ∀Y : set → set, ∀f : set, f ∈ (∏x ∈ X, Y x) → (∀u ∈ f, pair_p u ∧ u 0 ∈ X) ∧ (∀x ∈ X, f x ∈ Y x)
L1519
Axiom. (PiEq) We take the following as an axiom:
∀X : set, ∀Y : set → set, ∀f : set, f ∈ Pi X Y ↔ (∀u ∈ f, pair_p u ∧ u 0 ∈ X) ∧ (∀x ∈ X, f x ∈ Y x)
L1522
Axiom. (lam_Pi) We take the following as an axiom:
∀X : set, ∀Y : set → set, ∀F : set → set, (∀x ∈ X, F x ∈ Y x) → (λx ∈ X ⇒ F x) ∈ (∏x ∈ X, Y x)
L1525
Axiom. (ap_Pi) We take the following as an axiom:
∀X : set, ∀Y : set → set, ∀f : set, ∀x : set, f ∈ (∏x ∈ X, Y x) → x ∈ X → f x ∈ Y x
L1527
Axiom. (Pi_ext_Subq) We take the following as an axiom:
∀X : set, ∀Y : set → set, ∀f g ∈ (∏x ∈ X, Y x), (∀x ∈ X, f x ⊆ g x) → f ⊆ g
L1529
Axiom. (Pi_ext) We take the following as an axiom:
∀X : set, ∀Y : set → set, ∀f g ∈ (∏x ∈ X, Y x), (∀x ∈ X, f x = g x) → f = g
L1531
Axiom. (Pi_eta) We take the following as an axiom:
∀X : set, ∀Y : set → set, ∀f : set, f ∈ (∏x ∈ X, Y x) → (λx ∈ X ⇒ f x) = f
L1533
Definition. We define setexp to be λX Y : set ⇒ ∏y ∈ Y, X of type set → set → set.
Notation. We use :^: as an infix operator with priority 430 and which associates to the left corresponding to applying term setexp.
L1538
Axiom. (pair_tuple_fun) We take the following as an axiom:
pair = (λx y ⇒ (x,y))
L1540
Axiom. (lamI2) We take the following as an axiom:
∀X, ∀F : set → set, ∀x ∈ X, ∀y ∈ F x, (x,y) ∈ λx ∈ X ⇒ F x
L1542
Axiom. (lamE2) We take the following as an axiom:
∀X, ∀F : set → set, ∀z : set, z ∈ (λx ∈ X ⇒ F x) → ∃x ∈ X, ∃y ∈ F x, z = (x,y)
L1544
Axiom. (tuple_2_inj) We take the following as an axiom:
∀x y w z : set, (x,y) = (w,z) → x = w ∧ y = z
Beginning of Section Tuples
L1548
Variable x0 x1 : set
L1550
Axiom. (tuple_2_0_eq) We take the following as an axiom:
(x0,x1) 0 = x0
L1551
Axiom. (tuple_2_1_eq) We take the following as an axiom:
(x0,x1) 1 = x1
End of Section Tuples
L1555
Definition. We define Sep2 to be λX Y R ⇒ {u ∈ ∑x ∈ X, Y x|R (u 0) (u 1)} of type set → (set → set) → (set → set → prop) → set.
L1558
Axiom. (Sep2I) We take the following as an axiom:
∀X, ∀Y : set → set, ∀R : set → set → prop, ∀x ∈ X, ∀y ∈ Y x, R x y → (x,y) ∈ Sep2 X Y R
L1561
Axiom. (Sep2E) We take the following as an axiom:
∀X, ∀Y : set → set, ∀R : set → set → prop, ∀u ∈ Sep2 X Y R, ∃x ∈ X, ∃y ∈ Y x, u = (x,y) ∧ R x y
L1564
Axiom. (Sep2E') We take the following as an axiom:
∀X, ∀Y : set → set, ∀R : set → set → prop, ∀x y, (x,y) ∈ Sep2 X Y R → x ∈ X ∧ y ∈ Y x ∧ R x y
L1567
Axiom. (Sep2E'1) We take the following as an axiom:
∀X, ∀Y : set → set, ∀R : set → set → prop, ∀x y, (x,y) ∈ Sep2 X Y R → x ∈ X
L1570
Axiom. (Sep2E'2) We take the following as an axiom:
∀X, ∀Y : set → set, ∀R : set → set → prop, ∀x y, (x,y) ∈ Sep2 X Y R → y ∈ Y x
L1573
Axiom. (Sep2E'3) We take the following as an axiom:
∀X, ∀Y : set → set, ∀R : set → set → prop, ∀x y, (x,y) ∈ Sep2 X Y R → R x y
L1576
Definition. We define set_of_pairs to be λX ⇒ ∀x ∈ X, ∃y z, x = (y,z) of type set → prop.
L1578
Axiom. (set_of_pairs_ext) We take the following as an axiom:
∀X Y, set_of_pairs X → set_of_pairs Y → (∀v w, (v,w) ∈ X ↔ (v,w) ∈ Y) → X = Y
L1583
Axiom. (Sep2_set_of_pairs) We take the following as an axiom:
∀X, ∀Y : set → set, ∀R : set → set → prop, set_of_pairs (Sep2 X Y R)
L1586
Axiom. (Sep2_ext) We take the following as an axiom:
∀X, ∀Y : set → set, ∀R R' : set → set → prop, (∀x ∈ X, ∀y ∈ Y x, R x y ↔ R' x y) → Sep2 X Y R = Sep2 X Y R'
L1590
Axiom. (lam_ext_sub) We take the following as an axiom:
∀X, ∀F G : set → set, (∀x ∈ X, F x = G x) → (λx ∈ X ⇒ F x) ⊆ (λx ∈ X ⇒ G x)
L1592
Axiom. (lam_ext) We take the following as an axiom:
∀X, ∀F G : set → set, (∀x ∈ X, F x = G x) → (λx ∈ X ⇒ F x) = (λx ∈ X ⇒ G x)
L1594
Axiom. (lam_eta) We take the following as an axiom:
∀X, ∀F : set → set, (λx ∈ X ⇒ (λx ∈ X ⇒ F x) x) = (λx ∈ X ⇒ F x)
L1596
Axiom. (tuple_2_eta) We take the following as an axiom:
∀x y, (λi ∈ 2 ⇒ (x,y) i) = (x,y)
L1598
Definition. We define lam2 to be λX Y F ⇒ λx ∈ X ⇒ λy ∈ Y x ⇒ F x y of type set → (set → set) → (set → set → set) → set.
L1601
Axiom. (beta2) We take the following as an axiom:
∀X, ∀Y : set → set, ∀F : set → set → set, ∀x ∈ X, ∀y ∈ Y x, lam2 X Y F x y = F x y
L1603
Axiom. (lam2_ext) We take the following as an axiom:
∀X, ∀Y : set → set, ∀F G : set → set → set, (∀x ∈ X, ∀y ∈ Y x, F x y = G x y) → lam2 X Y F = lam2 X Y G
L1607
Definition. We define encode_u to be lam of type set → (set → set) → set.
L1609
Definition. We define decode_u to be ap of type set → set → set.
L1610
Definition. We define encode_b to be λX F ⇒ lam2 X (λ_ ⇒ X) F of type set → (set → set → set) → set.
L1612
Definition. We define decode_b to be λF x y ⇒ F x y of type set → set → set → set.
L1613
Definition. We define encode_p to be λX P ⇒ Sep X P of type set → (set → prop) → set.
L1615
Definition. We define decode_p to be λP x ⇒ x ∈ P of type set → set → prop.
L1616
Definition. We define encode_r to be λX R ⇒ Sep2 X (λ_ ⇒ X) R of type set → (set → set → prop) → set.
L1618
Definition. We define decode_r to be λR x y ⇒ (x,y) ∈ R of type set → set → set → prop.
L1619
Definition. We define encode_c to be λX C ⇒ Sep (𝒫 X) (λU ⇒ (C (λx ⇒ x ∈ U))) of type set → ((set → prop) → prop) → set.
L1621
Definition. We define decode_c to be λC U ⇒ ∃V, (∀x, U x ↔ x ∈ V) ∧ V ∈ C of type set → (set → prop) → prop.
L1622
Axiom. (decode_encode_u) We take the following as an axiom:
∀X, ∀F : set → set, ∀x ∈ X, decode_u (encode_u X F) x = F x
L1624
Axiom. (encode_u_ext) We take the following as an axiom:
∀X, ∀F F' : set → set, (∀x ∈ X, F x = F' x) → encode_u X F = encode_u X F'
L1626
Axiom. (decode_encode_b) We take the following as an axiom:
∀X, ∀F : set → set → set, ∀x y ∈ X, decode_b (encode_b X F) x y = F x y
L1628
Axiom. (encode_b_ext) We take the following as an axiom:
∀X, ∀F F' : set → set → set, (∀x y ∈ X, F x y = F' x y) → encode_b X F = encode_b X F'
L1630
Axiom. (decode_encode_p) We take the following as an axiom:
∀X, ∀P : set → prop, ∀x ∈ X, (decode_p (encode_p X P) x) = (P x)
L1632
Axiom. (encode_p_ext) We take the following as an axiom:
∀X, ∀P P' : set → prop, (∀x ∈ X, P x ↔ P' x) → encode_p X P = encode_p X P'
L1634
Axiom. (decode_encode_r) We take the following as an axiom:
∀X, ∀R : set → set → prop, ∀x y ∈ X, (decode_r (encode_r X R) x y) = (R x y)
L1636
Axiom. (encode_r_ext) We take the following as an axiom:
∀X, ∀R R' : set → set → prop, (∀x y ∈ X, R x y ↔ R' x y) → encode_r X R = encode_r X R'
L1638
Axiom. (decode_encode_c) We take the following as an axiom:
∀X, ∀C : (set → prop) → prop, ∀U : set → prop, (∀x, U x → x ∈ X) → (decode_c (encode_c X C) U) = (C U)
L1640
Axiom. (encode_c_ext) We take the following as an axiom:
∀X, ∀C C' : (set → prop) → prop, (∀U : set → prop, (∀x, U x → x ∈ X) → (C U ↔ C' U)) → encode_c X C = encode_c X C'
L1642
Axiom. (setprod_mon) We take the following as an axiom:
∀X Y : set, X ⊆ Y → ∀Z W : set, Z ⊆ W → X ⨯ Z ⊆ Y ⨯ W
L1644
Axiom. (setprod_mon0) We take the following as an axiom:
∀X Y : set, X ⊆ Y → ∀Z : set, X ⨯ Z ⊆ Y ⨯ Z
L1646
Axiom. (setprod_mon1) We take the following as an axiom:
∀X : set, ∀Z W : set, Z ⊆ W → X ⨯ Z ⊆ X ⨯ W
L1648
Axiom. (pair_eta_Subq) We take the following as an axiom:
∀w, pair (w 0) (w 1) ⊆ w
L1650
Axiom. (Sigma_eta) We take the following as an axiom:
∀X : set, ∀Y : set → set, ∀z ∈ (∑x ∈ X, Y x), pair (z 0) (z 1) = z
L1652
Axiom. (ReplEq_setprod_ext) We take the following as an axiom:
∀X Y, ∀F G : set → set → set, (∀x ∈ X, ∀y ∈ Y, F x y = G x y) → {F (w 0) (w 1)|w ∈ X ⨯ Y} = {G (w 0) (w 1)|w ∈ X ⨯ Y}
L1654
Axiom. (tuple_p_3_tuple) We take the following as an axiom:
∀x y z : set, tuple_p 3 (x,y,z)
L1656
Axiom. (tuple_p_4_tuple) We take the following as an axiom:
∀x y z w : set, tuple_p 4 (x,y,z,w)
L1658
Axiom. (Pi_Power_1) We take the following as an axiom:
∀X : set, ∀Y : set → set, (∀x ∈ X, Y x ∈ 𝒫 1) → (∏x ∈ X, Y x) ∈ 𝒫 1
L1660
Axiom. (Pi_0_dom_mon) We take the following as an axiom:
∀X Y : set, ∀A : set → set, X ⊆ Y → (∀y ∈ Y, y ∉ X → 0 ∈ A y) → (∏x ∈ X, A x) ⊆ ∏y ∈ Y, A y
L1663
Axiom. (Pi_cod_mon) We take the following as an axiom:
∀X : set, ∀A B : set → set, (∀x ∈ X, A x ⊆ B x) → (∏x ∈ X, A x) ⊆ ∏x ∈ X, B x
L1665
Axiom. (Pi_0_mon) We take the following as an axiom:
∀X Y : set, ∀A B : set → set, (∀x ∈ X, A x ⊆ B x) → X ⊆ Y → (∀y ∈ Y, y ∉ X → 0 ∈ B y) → (∏x ∈ X, A x) ⊆ ∏y ∈ Y, B y
L1669
Axiom. (setexp_2_eq) We take the following as an axiom:
∀X : set, X ⨯ X = X2
L1671
Axiom. (setexp_0_dom_mon) We take the following as an axiom:
∀A : set, 0 ∈ A → ∀X Y : set, X ⊆ Y → AX ⊆ AY
L1673
Axiom. (setexp_0_mon) We take the following as an axiom:
∀X Y A B : set, 0 ∈ B → A ⊆ B → X ⊆ Y → AX ⊆ BY
L1675
Axiom. (nat_in_setexp_mon) We take the following as an axiom:
∀A : set, 0 ∈ A → ∀n, nat_p n → ∀m ∈ n, Am ⊆ An
L1677
Axiom. (tupleI0) We take the following as an axiom:
∀X Y x, x ∈ X → (0,x) ∈ (X,Y)
L1679
Axiom. (tupleI1) We take the following as an axiom:
∀X Y y, y ∈ Y → (1,y) ∈ (X,Y)
L1681
Axiom. (tupleE) We take the following as an axiom:
∀X Y z, z ∈ (X,Y) → (∃x ∈ X, z = (0,x)) ∨ (∃y ∈ Y, z = (1,y))
L1683
Axiom. (tuple_2_Sigma) We take the following as an axiom:
∀X : set, ∀Y : set → set, ∀x ∈ X, ∀y ∈ Y x, (x,y) ∈ ∑x ∈ X, Y x
L1685
Axiom. (tuple_2_setprod) We take the following as an axiom:
∀X : set, ∀Y : set, ∀x ∈ X, ∀y ∈ Y, (x,y) ∈ X ⨯ Y
L1687
Axiom. (tuple_Sigma_eta) We take the following as an axiom:
∀X : set, ∀Y : set → set, ∀z ∈ (∑x ∈ X, Y x), (z 0,z 1) = z
L1689
Axiom. (apI2) We take the following as an axiom:
∀f x y, (x,y) ∈ f → y ∈ f x
L1691
Axiom. (apE2) We take the following as an axiom:
∀f x y, y ∈ f x → (x,y) ∈ f
L1693
Axiom. (ap_const_0) We take the following as an axiom:
∀x, 0 x = 0
L1695
Axiom. (tuple_2_in_A_2) We take the following as an axiom:
∀x y A, x ∈ A → y ∈ A → (x,y) ∈ A2
L1697
Axiom. (tuple_2_bij_2) We take the following as an axiom:
∀x y, x ∈ 2 → y ∈ 2 → x ≠ y → bij 2 2 (λi ⇒ (x,y) i)
L1699
Axiom. (tuple_3_eta) We take the following as an axiom:
∀x y z, (λi ∈ 3 ⇒ (x,y,z) i) = (x,y,z)
L1701
Axiom. (tuple_4_eta) We take the following as an axiom:
∀x y z w, (λi ∈ 4 ⇒ (x,y,z,w) i) = (x,y,z,w)
Beginning of Section Tuples
L1705
Variable x0 x1 x2 : set
L1707
Axiom. (tuple_3_0_eq) We take the following as an axiom:
(x0,x1,x2) 0 = x0
L1709
Axiom. (tuple_3_1_eq) We take the following as an axiom:
(x0,x1,x2) 1 = x1
L1711
Axiom. (tuple_3_2_eq) We take the following as an axiom:
(x0,x1,x2) 2 = x2
L1713
Variable x3 : set
L1715
Axiom. (tuple_4_0_eq) We take the following as an axiom:
(x0,x1,x2,x3) 0 = x0
L1716
Axiom. (tuple_4_1_eq) We take the following as an axiom:
(x0,x1,x2,x3) 1 = x1
L1718
Axiom. (tuple_4_2_eq) We take the following as an axiom:
(x0,x1,x2,x3) 2 = x2
L1720
Axiom. (tuple_4_3_eq) We take the following as an axiom:
(x0,x1,x2,x3) 3 = x3
L1722
Variable x4 : set
L1724
Axiom. (tuple_5_0_eq) We take the following as an axiom:
(x0,x1,x2,x3,x4) 0 = x0
L1726
Axiom. (tuple_5_1_eq) We take the following as an axiom:
(x0,x1,x2,x3,x4) 1 = x1
L1728
Axiom. (tuple_5_2_eq) We take the following as an axiom:
(x0,x1,x2,x3,x4) 2 = x2
L1730
Axiom. (tuple_5_3_eq) We take the following as an axiom:
(x0,x1,x2,x3,x4) 3 = x3
L1732
Axiom. (tuple_5_4_eq) We take the following as an axiom:
(x0,x1,x2,x3,x4) 4 = x4
L1734
Variable x5 : set
L1736
Axiom. (tuple_6_0_eq) We take the following as an axiom:
(x0,x1,x2,x3,x4,x5) 0 = x0
L1737
Axiom. (tuple_6_1_eq) We take the following as an axiom:
(x0,x1,x2,x3,x4,x5) 1 = x1
L1739
Axiom. (tuple_6_2_eq) We take the following as an axiom:
(x0,x1,x2,x3,x4,x5) 2 = x2
L1741
Axiom. (tuple_6_3_eq) We take the following as an axiom:
(x0,x1,x2,x3,x4,x5) 3 = x3
L1743
Axiom. (tuple_6_4_eq) We take the following as an axiom:
(x0,x1,x2,x3,x4,x5) 4 = x4
L1745
Axiom. (tuple_6_5_eq) We take the following as an axiom:
(x0,x1,x2,x3,x4,x5) 5 = x5
L1747
Variable x6 : set
L1749
Axiom. (tuple_7_0_eq) We take the following as an axiom:
(x0,x1,x2,x3,x4,x5,x6) 0 = x0
L1750
Axiom. (tuple_7_1_eq) We take the following as an axiom:
(x0,x1,x2,x3,x4,x5,x6) 1 = x1
L1752
Axiom. (tuple_7_2_eq) We take the following as an axiom:
(x0,x1,x2,x3,x4,x5,x6) 2 = x2
L1754
Axiom. (tuple_7_3_eq) We take the following as an axiom:
(x0,x1,x2,x3,x4,x5,x6) 3 = x3
L1756
Axiom. (tuple_7_4_eq) We take the following as an axiom:
(x0,x1,x2,x3,x4,x5,x6) 4 = x4
L1758
Axiom. (tuple_7_5_eq) We take the following as an axiom:
(x0,x1,x2,x3,x4,x5,x6) 5 = x5
L1760
Axiom. (tuple_7_6_eq) We take the following as an axiom:
(x0,x1,x2,x3,x4,x5,x6) 6 = x6
L1762
Variable x7 : set
L1764
Axiom. (tuple_8_0_eq) We take the following as an axiom:
(x0,x1,x2,x3,x4,x5,x6,x7) 0 = x0
L1766
Axiom. (tuple_8_1_eq) We take the following as an axiom:
(x0,x1,x2,x3,x4,x5,x6,x7) 1 = x1
L1768
Axiom. (tuple_8_2_eq) We take the following as an axiom:
(x0,x1,x2,x3,x4,x5,x6,x7) 2 = x2
L1770
Axiom. (tuple_8_3_eq) We take the following as an axiom:
(x0,x1,x2,x3,x4,x5,x6,x7) 3 = x3
L1772
Axiom. (tuple_8_4_eq) We take the following as an axiom:
(x0,x1,x2,x3,x4,x5,x6,x7) 4 = x4
L1774
Axiom. (tuple_8_5_eq) We take the following as an axiom:
(x0,x1,x2,x3,x4,x5,x6,x7) 5 = x5
L1776
Axiom. (tuple_8_6_eq) We take the following as an axiom:
(x0,x1,x2,x3,x4,x5,x6,x7) 6 = x6
L1778
Axiom. (tuple_8_7_eq) We take the following as an axiom:
(x0,x1,x2,x3,x4,x5,x6,x7) 7 = x7
L1780
Variable x8 : set
L1782
Axiom. (tuple_9_0_eq) We take the following as an axiom:
(x0,x1,x2,x3,x4,x5,x6,x7,x8) 0 = x0
L1783
Axiom. (tuple_9_1_eq) We take the following as an axiom:
(x0,x1,x2,x3,x4,x5,x6,x7,x8) 1 = x1
L1785
Axiom. (tuple_9_2_eq) We take the following as an axiom:
(x0,x1,x2,x3,x4,x5,x6,x7,x8) 2 = x2
L1787
Axiom. (tuple_9_3_eq) We take the following as an axiom:
(x0,x1,x2,x3,x4,x5,x6,x7,x8) 3 = x3
L1789
Axiom. (tuple_9_4_eq) We take the following as an axiom:
(x0,x1,x2,x3,x4,x5,x6,x7,x8) 4 = x4
L1791
Axiom. (tuple_9_5_eq) We take the following as an axiom:
(x0,x1,x2,x3,x4,x5,x6,x7,x8) 5 = x5
L1793
Axiom. (tuple_9_6_eq) We take the following as an axiom:
(x0,x1,x2,x3,x4,x5,x6,x7,x8) 6 = x6
L1795
Axiom. (tuple_9_7_eq) We take the following as an axiom:
(x0,x1,x2,x3,x4,x5,x6,x7,x8) 7 = x7
L1797
Axiom. (tuple_9_8_eq) We take the following as an axiom:
(x0,x1,x2,x3,x4,x5,x6,x7,x8) 8 = x8
End of Section Tuples
End of Section pair_setsum
Notation. We use ∑ x...y [possibly with ascriptions] , B as a binder notation corresponding to a term constructed using Sigma.
Notation. We use ⨯ as an infix operator with priority 440 and which associates to the left corresponding to applying term setprod.
Notation. We use ∏ x...y [possibly with ascriptions] , B as a binder notation corresponding to a term constructed using Pi.
Notation. We use :^: as an infix operator with priority 430 and which associates to the left corresponding to applying term setexp.
L1815
Axiom. (tuple_3_in_A_3) We take the following as an axiom:
∀x y z A, x ∈ A → y ∈ A → z ∈ A → (x,y,z) ∈ A3
L1817
Axiom. (tuple_3_bij_3) We take the following as an axiom:
∀x y z, x ∈ 3 → y ∈ 3 → z ∈ 3 → x ≠ y → x ≠ z → y ≠ z → bij 3 3 (λi ⇒ (x,y,z) i)
L1819
Axiom. (tuple_4_in_A_4) We take the following as an axiom:
∀x y z w A, x ∈ A → y ∈ A → z ∈ A → w ∈ A → (x,y,z,w) ∈ A4
L1821
Axiom. (tuple_4_bij_4) We take the following as an axiom:
∀x y z w, x ∈ 4 → y ∈ 4 → z ∈ 4 → w ∈ 4 → x ≠ y → x ≠ z → x ≠ w → y ≠ z → y ≠ w → z ≠ w → bij 4 4 (λi ⇒ (x,y,z,w) i)
L1823
Axiom. (iff_refl) We take the following as an axiom:
∀A : prop, A ↔ A
L1825
Axiom. (iff_sym) We take the following as an axiom:
∀A B : prop, (A ↔ B) → (B ↔ A)
L1827
Axiom. (iff_trans) We take the following as an axiom:
∀A B C : prop, (A ↔ B) → (B ↔ C) → (A ↔ C)
L1829
Axiom. (not_or_and_demorgan) We take the following as an axiom:
∀A B : prop, ¬ (A ∨ B) → ¬ A ∧ ¬ B
L1831
Axiom. (and_not_or_demorgan) We take the following as an axiom:
∀A B : prop, ¬ A ∧ ¬ B → ¬ (A ∨ B)
L1833
Axiom. (not_ex_all_demorgan_i) We take the following as an axiom:
∀P : set → prop, (¬ ∃x, P x) → ∀x, ¬ P x
L1835
Axiom. (not_all_ex_demorgan_i) We take the following as an axiom:
∀P : set → prop, ¬ (∀x, P x) → ∃x, ¬ P x
L1837
Axiom. (eq_or_nand) We take the following as an axiom:
or = (λx y : prop ⇒ ¬ (¬ x ∧ ¬ y))
Primitive. The name EpsR_i_i_1 is a term of type (set → set → prop) → set.
Primitive. The name EpsR_i_i_2 is a term of type (set → set → prop) → set.
L1845
Axiom. (EpsR_i_i_12) We take the following as an axiom:
∀R : set → set → prop, (∃x y, R x y) → R (EpsR_i_i_1 R) (EpsR_i_i_2 R)
Primitive. The name DescrR_i_io_1 is a term of type (set → (set → prop) → prop) → set.
Primitive. The name DescrR_i_io_2 is a term of type (set → (set → prop) → prop) → set → prop.
L1853
Axiom. (DescrR_i_io_12) We take the following as an axiom:
∀R : set → (set → prop) → prop, (∃x, (∃y : set → prop, R x y) ∧ (∀y z : set → prop, R x y → R x z → y = z)) → R (DescrR_i_io_1 R) (DescrR_i_io_2 R)
L1855
Definition. We define PNoEq_ to be λalpha p q ⇒ ∀beta ∈ alpha, p beta ↔ q beta of type set → (set → prop) → (set → prop) → prop.
L1862
Axiom. (PNoEq_ref_) We take the following as an axiom:
∀alpha, ∀p : set → prop, PNoEq_ alpha p p
L1864
Axiom. (PNoEq_sym_) We take the following as an axiom:
∀alpha, ∀p q : set → prop, PNoEq_ alpha p q → PNoEq_ alpha q p
L1866
Axiom. (PNoEq_tra_) We take the following as an axiom:
∀alpha, ∀p q r : set → prop, PNoEq_ alpha p q → PNoEq_ alpha q r → PNoEq_ alpha p r
L1868
Axiom. (PNoEq_antimon_) We take the following as an axiom:
∀p q : set → prop, ∀alpha, ordinal alpha → ∀beta ∈ alpha, PNoEq_ alpha p q → PNoEq_ beta p q
L1870
Definition. We define PNoLt_ to be λalpha p q ⇒ ∃beta ∈ alpha, PNoEq_ beta p q ∧ ¬ p beta ∧ q beta of type set → (set → prop) → (set → prop) → prop.
L1873
Axiom. (PNoLt_E_) We take the following as an axiom:
∀alpha, ∀p q : set → prop, PNoLt_ alpha p q → ∀R : prop, (∀beta, beta ∈ alpha → PNoEq_ beta p q → ¬ p beta → q beta → R) → R
L1876
Axiom. (PNoLt_irref_) We take the following as an axiom:
∀alpha, ∀p : set → prop, ¬ PNoLt_ alpha p p
L1878
Axiom. (PNoLt_mon_) We take the following as an axiom:
∀p q : set → prop, ∀alpha, ordinal alpha → ∀beta ∈ alpha, PNoLt_ beta p q → PNoLt_ alpha p q
L1880
Axiom. (PNoLt_trichotomy_or_) We take the following as an axiom:
∀p q : set → prop, ∀alpha, ordinal alpha → PNoLt_ alpha p q ∨ PNoEq_ alpha p q ∨ PNoLt_ alpha q p
L1883
Axiom. (PNoLt_tra_) We take the following as an axiom:
∀alpha, ordinal alpha → ∀p q r : set → prop, PNoLt_ alpha p q → PNoLt_ alpha q r → PNoLt_ alpha p r
Primitive. The name PNoLt is a term of type set → (set → prop) → set → (set → prop) → prop.
L1888
Axiom. (PNoLtI1) We take the following as an axiom:
∀alpha beta, ∀p q : set → prop, PNoLt_ (alpha ∩ beta) p q → PNoLt alpha p beta q
L1891
Axiom. (PNoLtI2) We take the following as an axiom:
∀alpha beta, ∀p q : set → prop, alpha ∈ beta → PNoEq_ alpha p q → q alpha → PNoLt alpha p beta q
L1894
Axiom. (PNoLtI3) We take the following as an axiom:
∀alpha beta, ∀p q : set → prop, beta ∈ alpha → PNoEq_ beta p q → ¬ p beta → PNoLt alpha p beta q
L1897
Axiom. (PNoLtE) We take the following as an axiom:
∀alpha beta, ∀p q : set → prop, PNoLt alpha p beta q → ∀R : prop, (PNoLt_ (alpha ∩ beta) p q → R) → (alpha ∈ beta → PNoEq_ alpha p q → q alpha → R) → (beta ∈ alpha → PNoEq_ beta p q → ¬ p beta → R) → R
L1905
Axiom. (PNoLtE2) We take the following as an axiom:
∀alpha, ∀p q : set → prop, PNoLt alpha p alpha q → PNoLt_ alpha p q
L1908
Axiom. (PNoLt_irref) We take the following as an axiom:
∀alpha, ∀p : set → prop, ¬ PNoLt alpha p alpha p
L1910
Axiom. (PNoLt_trichotomy_or) We take the following as an axiom:
∀alpha beta, ∀p q : set → prop, ordinal alpha → ordinal beta → PNoLt alpha p beta q ∨ alpha = beta ∧ PNoEq_ alpha p q ∨ PNoLt beta q alpha p
L1914
Axiom. (PNoLtEq_tra) We take the following as an axiom:
∀alpha beta, ordinal alpha → ordinal beta → ∀p q r : set → prop, PNoLt alpha p beta q → PNoEq_ beta q r → PNoLt alpha p beta r
L1916
Axiom. (PNoEqLt_tra) We take the following as an axiom:
∀alpha beta, ordinal alpha → ordinal beta → ∀p q r : set → prop, PNoEq_ alpha p q → PNoLt alpha q beta r → PNoLt alpha p beta r
L1918
Axiom. (PNoLt_tra) We take the following as an axiom:
∀alpha beta gamma, ordinal alpha → ordinal beta → ordinal gamma → ∀p q r : set → prop, PNoLt alpha p beta q → PNoLt beta q gamma r → PNoLt alpha p gamma r
L1920
Definition. We define PNoLe to be λalpha p beta q ⇒ PNoLt alpha p beta q ∨ alpha = beta ∧ PNoEq_ alpha p q of type set → (set → prop) → set → (set → prop) → prop.
L1923
Axiom. (PNoLeI1) We take the following as an axiom:
∀alpha beta, ∀p q : set → prop, PNoLt alpha p beta q → PNoLe alpha p beta q
L1926
Axiom. (PNoLeI2) We take the following as an axiom:
∀alpha, ∀p q : set → prop, PNoEq_ alpha p q → PNoLe alpha p alpha q
L1929
Axiom. (PNoLe_ref) We take the following as an axiom:
∀alpha, ∀p : set → prop, PNoLe alpha p alpha p
L1931
Axiom. (PNoLe_antisym) We take the following as an axiom:
∀alpha beta, ordinal alpha → ordinal beta → ∀p q : set → prop, PNoLe alpha p beta q → PNoLe beta q alpha p → alpha = beta ∧ PNoEq_ alpha p q
L1935
Axiom. (PNoLtLe_tra) We take the following as an axiom:
∀alpha beta gamma, ordinal alpha → ordinal beta → ordinal gamma → ∀p q r : set → prop, PNoLt alpha p beta q → PNoLe beta q gamma r → PNoLt alpha p gamma r
L1937
Axiom. (PNoLeLt_tra) We take the following as an axiom:
∀alpha beta gamma, ordinal alpha → ordinal beta → ordinal gamma → ∀p q r : set → prop, PNoLe alpha p beta q → PNoLt beta q gamma r → PNoLt alpha p gamma r
L1939
Axiom. (PNoEqLe_tra) We take the following as an axiom:
∀alpha beta, ordinal alpha → ordinal beta → ∀p q r : set → prop, PNoEq_ alpha p q → PNoLe alpha q beta r → PNoLe alpha p beta r
L1941
Axiom. (PNoLeEq_tra) We take the following as an axiom:
∀alpha beta, ordinal alpha → ordinal beta → ∀p q r : set → prop, PNoLe alpha p beta q → PNoEq_ beta q r → PNoLe alpha p beta r
L1943
Axiom. (PNoLe_tra) We take the following as an axiom:
∀alpha beta gamma, ordinal alpha → ordinal beta → ordinal gamma → ∀p q r : set → prop, PNoLe alpha p beta q → PNoLe beta q gamma r → PNoLe alpha p gamma r
L1945
Definition. We define PNo_downc to be λL alpha p ⇒ ∃beta, ordinal beta ∧ ∃q : set → prop, L beta q ∧ PNoLe alpha p beta q of type (set → (set → prop) → prop) → set → (set → prop) → prop.
L1948
Definition. We define PNo_upc to be λR alpha p ⇒ ∃beta, ordinal beta ∧ ∃q : set → prop, R beta q ∧ PNoLe beta q alpha p of type (set → (set → prop) → prop) → set → (set → prop) → prop.
L1951
Axiom. (PNoLe_downc) We take the following as an axiom:
∀L : set → (set → prop) → prop, ∀alpha beta, ∀p q : set → prop, ordinal alpha → ordinal beta → PNo_downc L alpha p → PNoLe beta q alpha p → PNo_downc L beta q
L1955
Axiom. (PNo_downc_ref) We take the following as an axiom:
∀L : set → (set → prop) → prop, ∀alpha, ordinal alpha → ∀p : set → prop, L alpha p → PNo_downc L alpha p
L1957
Axiom. (PNo_upc_ref) We take the following as an axiom:
∀R : set → (set → prop) → prop, ∀alpha, ordinal alpha → ∀p : set → prop, R alpha p → PNo_upc R alpha p
L1959
Axiom. (PNoLe_upc) We take the following as an axiom:
∀R : set → (set → prop) → prop, ∀alpha beta, ∀p q : set → prop, ordinal alpha → ordinal beta → PNo_upc R alpha p → PNoLe alpha p beta q → PNo_upc R beta q
L1963
Definition. We define PNoLt_pwise to be λL R ⇒ ∀gamma, ordinal gamma → ∀p : set → prop, L gamma p → ∀delta, ordinal delta → ∀q : set → prop, R delta q → PNoLt gamma p delta q of type (set → (set → prop) → prop) → (set → (set → prop) → prop) → prop.
L1966
Axiom. (PNoLt_pwise_downc_upc) We take the following as an axiom:
∀L R : set → (set → prop) → prop, PNoLt_pwise L R → PNoLt_pwise (PNo_downc L) (PNo_upc R)
L1969
Definition. We define PNo_rel_strict_upperbd to be λL alpha p ⇒ ∀beta ∈ alpha, ∀q : set → prop, PNo_downc L beta q → PNoLt beta q alpha p of type (set → (set → prop) → prop) → set → (set → prop) → prop.
L1973
Definition. We define PNo_rel_strict_lowerbd to be λR alpha p ⇒ ∀beta ∈ alpha, ∀q : set → prop, PNo_upc R beta q → PNoLt alpha p beta q of type (set → (set → prop) → prop) → set → (set → prop) → prop.
L1977
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 → (set → prop) → prop) → (set → (set → prop) → prop) → set → (set → prop) → prop.
L1980
Axiom. (PNoEq_rel_strict_upperbd) We take the following as an axiom:
∀L : set → (set → prop) → prop, ∀alpha, ordinal alpha → ∀p q : set → prop, PNoEq_ alpha p q → PNo_rel_strict_upperbd L alpha p → PNo_rel_strict_upperbd L alpha q
L1983
Axiom. (PNo_rel_strict_upperbd_antimon) We take the following as an axiom:
∀L : set → (set → prop) → prop, ∀alpha, ordinal alpha → ∀p : set → prop, ∀beta ∈ alpha, PNo_rel_strict_upperbd L alpha p → PNo_rel_strict_upperbd L beta p
L1986
Axiom. (PNoEq_rel_strict_lowerbd) We take the following as an axiom:
∀R : set → (set → prop) → prop, ∀alpha, ordinal alpha → ∀p q : set → prop, PNoEq_ alpha p q → PNo_rel_strict_lowerbd R alpha p → PNo_rel_strict_lowerbd R alpha q
L1989
Axiom. (PNo_rel_strict_lowerbd_antimon) We take the following as an axiom:
∀R : set → (set → prop) → prop, ∀alpha, ordinal alpha → ∀p : set → prop, ∀beta ∈ alpha, PNo_rel_strict_lowerbd R alpha p → PNo_rel_strict_lowerbd R beta p
L1992
Axiom. (PNoEq_rel_strict_imv) We take the following as an axiom:
∀L R : set → (set → prop) → prop, ∀alpha, ordinal alpha → ∀p q : set → prop, PNoEq_ alpha p q → PNo_rel_strict_imv L R alpha p → PNo_rel_strict_imv L R alpha q
L1995
Axiom. (PNo_rel_strict_imv_antimon) We take the following as an axiom:
∀L R : set → (set → prop) → prop, ∀alpha, ordinal alpha → ∀p : set → prop, ∀beta ∈ alpha, PNo_rel_strict_imv L R alpha p → PNo_rel_strict_imv L R beta p
L1998
Definition. We define PNo_rel_strict_uniq_imv to be λL R alpha p ⇒ PNo_rel_strict_imv L R alpha p ∧ ∀q : set → prop, PNo_rel_strict_imv L R alpha q → PNoEq_ alpha p q of type (set → (set → prop) → prop) → (set → (set → prop) → prop) → set → (set → prop) → prop.
L2001
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 → (set → prop) → prop) → (set → (set → prop) → prop) → set → (set → prop) → prop.
L2006
Axiom. (PNo_extend0_eq) We take the following as an axiom:
∀alpha, ∀p : set → prop, PNoEq_ alpha p (λdelta ⇒ p delta ∧ delta ≠ alpha)
L2008
Axiom. (PNo_extend1_eq) We take the following as an axiom:
∀alpha, ∀p : set → prop, PNoEq_ alpha p (λdelta ⇒ p delta ∨ delta = alpha)
L2010
Axiom. (PNo_rel_imv_ex) We take the following as an axiom:
∀L R : set → (set → prop) → prop, PNoLt_pwise L R → ∀alpha, ordinal alpha → (∃p : set → prop, PNo_rel_strict_uniq_imv L R alpha p) ∨ (∃tau ∈ alpha, ∃p : set → prop, PNo_rel_strict_split_imv L R tau p)
L2016
Definition. We define PNo_lenbdd to be λalpha L ⇒ ∀beta, ∀p : set → prop, L beta p → beta ∈ alpha of type set → (set → (set → prop) → prop) → prop.
L2019
Axiom. (PNo_lenbdd_strict_imv_extend0) We take the following as an axiom:
∀L R : set → (set → prop) → prop, ∀alpha, ordinal alpha → PNo_lenbdd alpha L → PNo_lenbdd alpha R → ∀p : set → prop, PNo_rel_strict_imv L R alpha p → PNo_rel_strict_imv L R (ordsucc alpha) (λdelta ⇒ p delta ∧ delta ≠ alpha)
L2024
Axiom. (PNo_lenbdd_strict_imv_extend1) We take the following as an axiom:
∀L R : set → (set → prop) → prop, ∀alpha, ordinal alpha → PNo_lenbdd alpha L → PNo_lenbdd alpha R → ∀p : set → prop, PNo_rel_strict_imv L R alpha p → PNo_rel_strict_imv L R (ordsucc alpha) (λdelta ⇒ p delta ∨ delta = alpha)
L2029
Axiom. (PNo_lenbdd_strict_imv_split) We take the following as an axiom:
∀L R : set → (set → prop) → prop, ∀alpha, ordinal alpha → PNo_lenbdd alpha L → PNo_lenbdd alpha R → ∀p : set → prop, PNo_rel_strict_imv L R alpha p → PNo_rel_strict_split_imv L R alpha p
L2034
Axiom. (PNo_rel_imv_bdd_ex) We take the following as an axiom:
∀L R : set → (set → prop) → prop, PNoLt_pwise L R → ∀alpha, ordinal alpha → PNo_lenbdd alpha L → PNo_lenbdd alpha R → ∃beta ∈ ordsucc alpha, ∃p : set → prop, PNo_rel_strict_split_imv L R beta p
L2042
Definition. We define PNo_strict_upperbd to be λL alpha p ⇒ ∀beta, ordinal beta → ∀q : set → prop, L beta q → PNoLt beta q alpha p of type (set → (set → prop) → prop) → set → (set → prop) → prop.
L2046
Definition. We define PNo_strict_lowerbd to be λR alpha p ⇒ ∀beta, ordinal beta → ∀q : set → prop, R beta q → PNoLt alpha p beta q of type (set → (set → prop) → prop) → set → (set → prop) → prop.
L2050
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 → (set → prop) → prop) → (set → (set → prop) → prop) → set → (set → prop) → prop.
L2053
Axiom. (PNoEq_strict_upperbd) We take the following as an axiom:
∀L : set → (set → prop) → prop, ∀alpha, ordinal alpha → ∀p q : set → prop, PNoEq_ alpha p q → PNo_strict_upperbd L alpha p → PNo_strict_upperbd L alpha q
L2056
Axiom. (PNoEq_strict_lowerbd) We take the following as an axiom:
∀R : set → (set → prop) → prop, ∀alpha, ordinal alpha → ∀p q : set → prop, PNoEq_ alpha p q → PNo_strict_lowerbd R alpha p → PNo_strict_lowerbd R alpha q
L2059
Axiom. (PNoEq_strict_imv) We take the following as an axiom:
∀L R : set → (set → prop) → prop, ∀alpha, ordinal alpha → ∀p q : set → prop, PNoEq_ alpha p q → PNo_strict_imv L R alpha p → PNo_strict_imv L R alpha q
L2062
Axiom. (PNo_strict_upperbd_imp_rel_strict_upperbd) We take the following as an axiom:
∀L : set → (set → prop) → prop, ∀alpha, ordinal alpha → ∀beta ∈ ordsucc alpha, ∀p : set → prop, PNo_strict_upperbd L alpha p → PNo_rel_strict_upperbd L beta p
L2066
Axiom. (PNo_strict_lowerbd_imp_rel_strict_lowerbd) We take the following as an axiom:
∀R : set → (set → prop) → prop, ∀alpha, ordinal alpha → ∀beta ∈ ordsucc alpha, ∀p : set → prop, PNo_strict_lowerbd R alpha p → PNo_rel_strict_lowerbd R beta p
L2070
Axiom. (PNo_strict_imv_imp_rel_strict_imv) We take the following as an axiom:
∀L R : set → (set → prop) → prop, ∀alpha, ordinal alpha → ∀beta ∈ ordsucc alpha, ∀p : set → prop, PNo_strict_imv L R alpha p → PNo_rel_strict_imv L R beta p
L2074
Axiom. (PNo_rel_split_imv_imp_strict_imv) We take the following as an axiom:
∀L R : set → (set → prop) → prop, ∀alpha, ordinal alpha → ∀p : set → prop, PNo_rel_strict_split_imv L R alpha p → PNo_strict_imv L R alpha p
L2079
Axiom. (ordinal_PNo_strict_imv) We take the following as an axiom:
∀L R : set → (set → prop) → prop, ∀alpha, ordinal alpha → ∀p : set → prop, (∀beta ∈ alpha, p beta) → (∀beta, ordinal beta → ∀q : set → prop, L beta q → beta ∈ alpha) → (∀beta ∈ alpha, L beta p) → (∀beta, ordinal beta → ∀q : set → prop, ¬ R beta q) → PNo_strict_imv L R alpha p
L2087
Axiom. (PNo_lenbdd_strict_imv_ex) We take the following as an axiom:
∀L R : set → (set → prop) → prop, PNoLt_pwise L R → ∀alpha, ordinal alpha → PNo_lenbdd alpha L → PNo_lenbdd alpha R → ∃beta ∈ ordsucc alpha, ∃p : set → prop, PNo_strict_imv L R beta p
L2095
Definition. We define PNo_least_rep to be λL R beta p ⇒ ordinal beta ∧ PNo_strict_imv L R beta p ∧ ∀gamma ∈ beta, ∀q : set → prop, ¬ PNo_strict_imv L R gamma q of type (set → (set → prop) → prop) → (set → (set → prop) → prop) → set → (set → prop) → prop.
L2101
Axiom. (PNo_lenbdd_least_rep_ex) We take the following as an axiom:
∀L R : set → (set → prop) → prop, PNoLt_pwise L R → ∀alpha, ordinal alpha → PNo_lenbdd alpha L → PNo_lenbdd alpha R → ∃beta, ∃p : set → prop, PNo_least_rep L R beta p
L2108
Definition. We define PNo_least_rep2 to be λL R beta p ⇒ PNo_least_rep L R beta p ∧ ∀x, x ∉ beta → ¬ p x of type (set → (set → prop) → prop) → (set → (set → prop) → prop) → set → (set → prop) → prop.
L2111
Axiom. (PNo_strict_imv_pred_eq) We take the following as an axiom:
∀L R : set → (set → prop) → prop, PNoLt_pwise L R → ∀alpha, ordinal alpha → ∀p q : set → prop, PNo_least_rep L R alpha p → PNo_strict_imv L R alpha q → ∀beta ∈ alpha, p beta ↔ q beta
L2118
Axiom. (PNo_lenbdd_least_rep2_exuniq2) We take the following as an axiom:
∀L R : set → (set → prop) → prop, PNoLt_pwise L R → ∀alpha, ordinal alpha → PNo_lenbdd alpha L → PNo_lenbdd alpha R → ∃beta, (∃p : set → prop, PNo_least_rep2 L R beta p) ∧ (∀p q : set → prop, PNo_least_rep2 L R beta p → PNo_least_rep2 L R beta q → p = q)
Primitive. The name PNo_bd is a term of type (set → (set → prop) → prop) → (set → (set → prop) → prop) → set.
Primitive. The name PNo_pred is a term of type (set → (set → prop) → prop) → (set → (set → prop) → prop) → set → prop.
L2133
Axiom. (PNo_bd_pred_lem) We take the following as an axiom:
∀L R : set → (set → prop) → prop, PNoLt_pwise L R → ∀alpha, ordinal alpha → PNo_lenbdd alpha L → PNo_lenbdd alpha R → PNo_least_rep2 L R (PNo_bd L R) (PNo_pred L R)
L2140
Axiom. (PNo_bd_pred) We take the following as an axiom:
∀L R : set → (set → prop) → prop, PNoLt_pwise L R → ∀alpha, ordinal alpha → PNo_lenbdd alpha L → PNo_lenbdd alpha R → PNo_least_rep L R (PNo_bd L R) (PNo_pred L R)
L2147
Axiom. (PNo_bd_ord) We take the following as an axiom:
∀L R : set → (set → prop) → prop, PNoLt_pwise L R → ∀alpha, ordinal alpha → PNo_lenbdd alpha L → PNo_lenbdd alpha R → ordinal (PNo_bd L R)
L2154
Axiom. (PNo_bd_pred_strict_imv) We take the following as an axiom:
∀L R : set → (set → prop) → prop, PNoLt_pwise L R → ∀alpha, ordinal alpha → PNo_lenbdd alpha L → PNo_lenbdd alpha R → PNo_strict_imv L R (PNo_bd L R) (PNo_pred L R)
L2161
Axiom. (PNo_bd_least_imv) We take the following as an axiom:
∀L R : set → (set → prop) → prop, PNoLt_pwise L R → ∀alpha, ordinal alpha → PNo_lenbdd alpha L → PNo_lenbdd alpha R → ∀gamma ∈ PNo_bd L R, ∀q : set → prop, ¬ PNo_strict_imv L R gamma q
L2169
Axiom. (PNo_bd_In) We take the following as an axiom:
∀L R : set → (set → prop) → prop, PNoLt_pwise L R → ∀alpha, ordinal alpha → PNo_lenbdd alpha L → PNo_lenbdd alpha R → PNo_bd L R ∈ ordsucc alpha
L2176
Definition. We define PNoCutL to be λalpha p beta q ⇒ beta ∈ alpha ∧ PNoLt beta q alpha p of type set → (set → prop) → set → (set → prop) → prop.
L2179
Definition. We define PNoCutR to be λalpha p beta q ⇒ beta ∈ alpha ∧ PNoLt alpha p beta q of type set → (set → prop) → set → (set → prop) → prop.
L2181
Axiom. (PNoCutL_lenbdd) We take the following as an axiom:
∀alpha, ∀p : set → prop, PNo_lenbdd alpha (PNoCutL alpha p)
L2183
Axiom. (PNoCutR_lenbdd) We take the following as an axiom:
∀alpha, ∀p : set → prop, PNo_lenbdd alpha (PNoCutR alpha p)
L2185
Axiom. (PNoCut_pwise) We take the following as an axiom:
∀alpha, ordinal alpha → ∀p : set → prop, PNoLt_pwise (PNoCutL alpha p) (PNoCutR alpha p)
L2187
Axiom. (PNoCut_strict_imv) We take the following as an axiom:
∀alpha, ordinal alpha → ∀p : set → prop, PNo_strict_imv (PNoCutL alpha p) (PNoCutR alpha p) alpha p
L2189
Axiom. (PNoCut_bd_eq) We take the following as an axiom:
∀alpha, ordinal alpha → ∀p : set → prop, PNo_bd (PNoCutL alpha p) (PNoCutR alpha p) = alpha
L2191
Axiom. (PNoCut_pred_eq) We take the following as an axiom:
∀alpha, ordinal alpha → ∀p : set → prop, PNoEq_ alpha p (PNo_pred (PNoCutL alpha p) (PNoCutR alpha p))
Beginning of Section TaggedSets
L2195
Let tag : set → set ≝ λalpha ⇒ SetAdjoin alpha {1}
Notation. We use ' as a postfix operator with priority 100 corresponding to applying term tag.
L2198
Axiom. (not_TransSet_Sing1) We take the following as an axiom:
L2200
Axiom. (not_ordinal_Sing1) We take the following as an axiom:
L2202
Axiom. (tagged_not_ordinal) We take the following as an axiom:
∀y, ¬ ordinal (y ')
L2204
Axiom. (tagged_notin_ordinal) We take the following as an axiom:
∀alpha y, ordinal alpha → (y ') ∉ alpha
L2206
Axiom. (tagged_eqE_Subq) We take the following as an axiom:
∀alpha beta, ordinal alpha → alpha ' = beta ' → alpha ⊆ beta
L2208
Axiom. (tagged_eqE_eq) We take the following as an axiom:
∀alpha beta, ordinal alpha → ordinal beta → alpha ' = beta ' → alpha = beta
L2210
Axiom. (tagged_ReplE) We take the following as an axiom:
∀alpha beta, ordinal alpha → ordinal beta → beta ' ∈ {gamma '|gamma ∈ alpha} → beta ∈ alpha
L2212
Axiom. (ordinal_notin_tagged_Repl) We take the following as an axiom:
∀alpha Y, ordinal alpha → alpha ∉ {y '|y ∈ Y}
L2214
Definition. We define SNoElts_ to be λalpha ⇒ alpha ∪ {beta '|beta ∈ alpha} of type set → set.
L2216
Axiom. (SNoElts_mon) We take the following as an axiom:
∀alpha beta, alpha ⊆ beta → SNoElts_ alpha ⊆ SNoElts_ beta
L2218
Definition. We define SNo_ to be λalpha x ⇒ x ⊆ SNoElts_ alpha ∧ ∀beta ∈ alpha, exactly1of2 (beta ' ∈ x) (beta ∈ x) of type set → set → prop.
L2222
Definition. We define PSNo to be λalpha p ⇒ {beta ∈ alpha|p beta} ∪ {beta '|beta ∈ alpha, ¬ p beta} of type set → (set → prop) → set.
L2225
Axiom. (PNoEq_PSNo) We take the following as an axiom:
∀alpha, ordinal alpha → ∀p : set → prop, PNoEq_ alpha (λbeta ⇒ beta ∈ PSNo alpha p) p
L2227
Axiom. (SNo_PSNo) We take the following as an axiom:
∀alpha, ordinal alpha → ∀p : set → prop, SNo_ alpha (PSNo alpha p)
L2229
Axiom. (SNo_PSNo_eta_) We take the following as an axiom:
∀alpha x, ordinal alpha → SNo_ alpha x → x = PSNo alpha (λbeta ⇒ beta ∈ x)
Primitive. The name SNo is a term of type set → prop.
L2234
Axiom. (SNo_SNo) We take the following as an axiom:
∀alpha, ordinal alpha → ∀z, SNo_ alpha z → SNo z
Primitive. The name SNoLev is a term of type set → set.
L2239
Axiom. (SNoLev_uniq_Subq) We take the following as an axiom:
∀x alpha beta, ordinal alpha → ordinal beta → SNo_ alpha x → SNo_ beta x → alpha ⊆ beta
L2241
Axiom. (SNoLev_uniq) We take the following as an axiom:
∀x alpha beta, ordinal alpha → ordinal beta → SNo_ alpha x → SNo_ beta x → alpha = beta
L2243
Axiom. (SNoLev_prop) We take the following as an axiom:
∀x, SNo x → ordinal (SNoLev x) ∧ SNo_ (SNoLev x) x
L2245
Axiom. (SNoLev_ordinal) We take the following as an axiom:
∀x, SNo x → ordinal (SNoLev x)
L2247
Axiom. (SNoLev_) We take the following as an axiom:
∀x, SNo x → SNo_ (SNoLev x) x
L2249
Axiom. (SNo_PSNo_eta) We take the following as an axiom:
∀x, SNo x → x = PSNo (SNoLev x) (λbeta ⇒ beta ∈ x)
L2251
Axiom. (SNoLev_PSNo) We take the following as an axiom:
∀alpha, ordinal alpha → ∀p : set → prop, SNoLev (PSNo alpha p) = alpha
L2253
Axiom. (SNo_Subq) We take the following as an axiom:
∀x y, SNo x → SNo y → SNoLev x ⊆ SNoLev y → (∀alpha ∈ SNoLev x, alpha ∈ x ↔ alpha ∈ y) → x ⊆ y
L2255
Definition. We define SNoEq_ to be λalpha x y ⇒ PNoEq_ alpha (λbeta ⇒ beta ∈ x) (λbeta ⇒ beta ∈ y) of type set → set → set → prop.
L2258
Axiom. (SNoEq_I) We take the following as an axiom:
∀alpha x y, (∀beta ∈ alpha, beta ∈ x ↔ beta ∈ y) → SNoEq_ alpha x y
L2260
Axiom. (SNoEq_E) We take the following as an axiom:
∀alpha x y, SNoEq_ alpha x y → ∀beta ∈ alpha, beta ∈ x ↔ beta ∈ y
L2262
Axiom. (SNoEq_E1) We take the following as an axiom:
∀alpha x y, SNoEq_ alpha x y → ∀beta ∈ alpha, beta ∈ x → beta ∈ y
L2264
Axiom. (SNoEq_E2) We take the following as an axiom:
∀alpha x y, SNoEq_ alpha x y → ∀beta ∈ alpha, beta ∈ y → beta ∈ x
L2266
Axiom. (SNoEq_antimon_) We take the following as an axiom:
∀alpha, ordinal alpha → ∀beta ∈ alpha, ∀x y, SNoEq_ alpha x y → SNoEq_ beta x y
L2268
Axiom. (SNo_eq) We take the following as an axiom:
∀x y, SNo x → SNo y → SNoLev x = SNoLev y → SNoEq_ (SNoLev x) x y → x = y
L2270
Let ctag : set → set ≝ λalpha ⇒ SetAdjoin alpha {2}
Notation. We use '' as a postfix operator with priority 100 corresponding to applying term ctag.
L2274
Axiom. (ctagged_not_ordinal) We take the following as an axiom:
∀y, ¬ ordinal (y '')
L2276
Axiom. (ctagged_notin_ordinal) We take the following as an axiom:
∀alpha y, ordinal alpha → (y '') ∉ alpha
L2277
Axiom. (Sing2_notin_SingSing1) We take the following as an axiom:
L2278
Axiom. (ctagged_notin_SNo) We take the following as an axiom:
∀x y, SNo x → (y '') ∉ x
L2280
Axiom. (ctagged_eqE_eq) We take the following as an axiom:
∀x y, SNo x → SNo y → ∀u ∈ x, ∀v ∈ y, u '' = v '' → u = v
L2281
Definition. We define SNo_pair to be λx y ⇒ x ∪ {u ''|u ∈ y} of type set → set → set.
L2283
Axiom. (SNo_pair_prop_1) We take the following as an axiom:
∀x1 y1 x2 y2, SNo x1 → SNo x2 → SNo_pair x1 y1 = SNo_pair x2 y2 → x1 = x2
L2285
Axiom. (SNo_pair_prop_2) We take the following as an axiom:
∀x1 y1 x2 y2, SNo x1 → SNo y1 → SNo x2 → SNo y2 → SNo_pair x1 y1 = SNo_pair x2 y2 → y1 = y2
L2286
Axiom. (SNo_pair_prop) We take the following as an axiom:
∀x1 y1 x2 y2, SNo x1 → SNo y1 → SNo x2 → SNo y2 → SNo_pair x1 y1 = SNo_pair x2 y2 → x1 = x2 ∧ y1 = y2
L2287
Axiom. (SNo_pair_0) We take the following as an axiom:
∀x, SNo_pair x 0 = x
End of Section TaggedSets
L2290
Definition. We define SNoLt to be λx y ⇒ PNoLt (SNoLev x) (λbeta ⇒ beta ∈ x) (SNoLev y) (λbeta ⇒ beta ∈ y) of type set → set → prop.
Notation. We use < as an infix operator with priority 490 and no associativity corresponding to applying term SNoLt.
L2295
Definition. We define SNoLe to be λx y ⇒ PNoLe (SNoLev x) (λbeta ⇒ beta ∈ x) (SNoLev y) (λbeta ⇒ beta ∈ y) of type set → set → prop.
Notation. We use ≤ as an infix operator with priority 490 and no associativity corresponding to applying term SNoLe.
L2301
Axiom. (SNoLtLe) We take the following as an axiom:
∀x y, x < y → x ≤ y
L2303
Axiom. (SNoLeE) We take the following as an axiom:
∀x y, SNo x → SNo y → x ≤ y → x < y ∨ x = y
L2305
Axiom. (SNoEq_ref_) We take the following as an axiom:
∀alpha x, SNoEq_ alpha x x
L2307
Axiom. (SNoEq_sym_) We take the following as an axiom:
∀alpha x y, SNoEq_ alpha x y → SNoEq_ alpha y x
L2309
Axiom. (SNoEq_tra_) We take the following as an axiom:
∀alpha x y z, SNoEq_ alpha x y → SNoEq_ alpha y z → SNoEq_ alpha x z
L2311
Axiom. (SNoLtE) We take the following as an axiom:
∀x y, SNo x → SNo y → x < y → ∀p : prop, (∀z, SNo z → SNoLev z ∈ SNoLev x ∩ SNoLev y → SNoEq_ (SNoLev z) z x → SNoEq_ (SNoLev z) z y → x < z → z < y → SNoLev z ∉ x → SNoLev z ∈ y → p) → (SNoLev x ∈ SNoLev y → SNoEq_ (SNoLev x) x y → SNoLev x ∈ y → p) → (SNoLev y ∈ SNoLev x → SNoEq_ (SNoLev y) x y → SNoLev y ∉ x → p) → p
L2318
Axiom. (SNoLtI2) We take the following as an axiom:
∀x y, SNoLev x ∈ SNoLev y → SNoEq_ (SNoLev x) x y → SNoLev x ∈ y → x < y
L2326
Axiom. (SNoLtI3) We take the following as an axiom:
∀x y, SNoLev y ∈ SNoLev x → SNoEq_ (SNoLev y) x y → SNoLev y ∉ x → x < y
L2332
Axiom. (SNoLt_irref) We take the following as an axiom:
∀x, ¬ SNoLt x x
L2334
Axiom. (SNoLt_trichotomy_or) We take the following as an axiom:
∀x y, SNo x → SNo y → x < y ∨ x = y ∨ y < x
L2336
Axiom. (SNoLt_trichotomy_or_impred) We take the following as an axiom:
∀x y, SNo x → SNo y → ∀p : prop, (x < y → p) → (x = y → p) → (y < x → p) → p
L2342
Axiom. (SNoLt_tra) We take the following as an axiom:
∀x y z, SNo x → SNo y → SNo z → x < y → y < z → x < z
L2344
Axiom. (SNoLe_ref) We take the following as an axiom:
∀x, SNoLe x x
L2346
Axiom. (SNoLe_antisym) We take the following as an axiom:
∀x y, SNo x → SNo y → x ≤ y → y ≤ x → x = y
L2348
Axiom. (SNoLtLe_tra) We take the following as an axiom:
∀x y z, SNo x → SNo y → SNo z → x < y → y ≤ z → x < z
L2350
Axiom. (SNoLeLt_tra) We take the following as an axiom:
∀x y z, SNo x → SNo y → SNo z → x ≤ y → y < z → x < z
L2352
Axiom. (SNoLe_tra) We take the following as an axiom:
∀x y z, SNo x → SNo y → SNo z → x ≤ y → y ≤ z → x ≤ z
L2354
Axiom. (SNoLtLe_or) We take the following as an axiom:
∀x y, SNo x → SNo y → x < y ∨ y ≤ x
L2356
Axiom. (SNoLt_PSNo_PNoLt) We take the following as an axiom:
∀alpha beta, ∀p q : set → prop, ordinal alpha → ordinal beta → PSNo alpha p < PSNo beta q → PNoLt alpha p beta q
L2360
Axiom. (PNoLt_SNoLt_PSNo) We take the following as an axiom:
∀alpha beta, ∀p q : set → prop, ordinal alpha → ordinal beta → PNoLt alpha p beta q → PSNo alpha p < PSNo beta q
L2364
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 set → set → set.
L2367
Definition. We define SNoCutP to be λL R ⇒ (∀x ∈ L, SNo x) ∧ (∀y ∈ R, SNo y) ∧ (∀x ∈ L, ∀y ∈ R, x < y) of type set → set → prop.
L2373
Axiom. (SNoCutP_SNoCut) We take the following as an axiom:
∀L R, SNoCutP L R → SNo (SNoCut L R) ∧ SNoLev (SNoCut L R) ∈ ordsucc ((⋃x ∈ Lordsucc (SNoLev x)) ∪ (⋃y ∈ Rordsucc (SNoLev y))) ∧ (∀x ∈ L, x < SNoCut L R) ∧ (∀y ∈ R, SNoCut L R < y) ∧ (∀z, SNo z → (∀x ∈ L, x < z) → (∀y ∈ R, z < y) → SNoLev (SNoCut L R) ⊆ SNoLev z ∧ SNoEq_ (SNoLev (SNoCut L R)) (SNoCut L R) z)
L2380
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 ((⋃x ∈ Lordsucc (SNoLev x)) ∪ (⋃y ∈ Rordsucc (SNoLev y))) → (∀x ∈ L, x < SNoCut L R) → (∀y ∈ R, SNoCut L R < y) → (∀z, SNo z → (∀x ∈ L, x < z) → (∀y ∈ R, z < y) → SNoLev (SNoCut L R) ⊆ SNoLev z ∧ SNoEq_ (SNoLev (SNoCut L R)) (SNoCut L R) z) → p) → p
L2390
Axiom. (SNoCutP_L_0) We take the following as an axiom:
∀L, (∀x ∈ L, SNo x) → SNoCutP L 0
L2392
Axiom. (SNoCutP_0_R) We take the following as an axiom:
∀R, (∀x ∈ R, SNo x) → SNoCutP 0 R
L2393
Axiom. (SNoCutP_0_0) We take the following as an axiom:
L2394
Axiom. (SNoCut_0_0) We take the following as an axiom:
L2395
Axiom. (ordinal_SNoLt_In) We take the following as an axiom:
∀alpha beta, ordinal alpha → ordinal beta → alpha < beta → alpha ∈ beta
L2397
Axiom. (ordinal_SNoLe_Subq) We take the following as an axiom:
∀alpha beta, ordinal alpha → ordinal beta → alpha ≤ beta → alpha ⊆ beta
L2399
Definition. We define SNoS_ to be λalpha ⇒ {x ∈ 𝒫 (SNoElts_ alpha)|∃beta ∈ alpha, SNo_ beta x} of type set → set.
L2401
Axiom. (SNoS_E) We take the following as an axiom:
∀alpha, ordinal alpha → ∀x ∈ SNoS_ alpha, ∃beta ∈ alpha, SNo_ beta x
Beginning of Section TaggedSets2
L2405
Let tag : set → set ≝ λalpha ⇒ SetAdjoin alpha {1}
Notation. We use ' as a postfix operator with priority 100 corresponding to applying term tag.
L2408
Axiom. (SNoS_I) We take the following as an axiom:
∀alpha, ordinal alpha → ∀x, ∀beta ∈ alpha, SNo_ beta x → x ∈ SNoS_ alpha
L2410
Axiom. (SNoS_I2) We take the following as an axiom:
∀x y, SNo x → SNo y → SNoLev x ∈ SNoLev y → x ∈ SNoS_ (SNoLev y)
L2412
Axiom. (SNoS_Subq) We take the following as an axiom:
∀alpha beta, ordinal alpha → ordinal beta → alpha ⊆ beta → SNoS_ alpha ⊆ SNoS_ beta
L2414
Axiom. (SNoLev_uniq2) We take the following as an axiom:
∀alpha, ordinal alpha → ∀x, SNo_ alpha x → SNoLev x = alpha
L2416
Axiom. (SNoS_E2) We take the following as an axiom:
∀alpha, ordinal alpha → ∀x ∈ SNoS_ alpha, ∀p : prop, (SNoLev x ∈ alpha → ordinal (SNoLev x) → SNo x → SNo_ (SNoLev x) x → p) → p
L2421
Axiom. (SNoS_In_neq) We take the following as an axiom:
∀w, SNo w → ∀x ∈ SNoS_ (SNoLev w), x ≠ w
L2423
Axiom. (SNoS_SNoLev) We take the following as an axiom:
∀z, SNo z → z ∈ SNoS_ (ordsucc (SNoLev z))
L2425
Definition. We define SNoL to be λz ⇒ {x ∈ SNoS_ (SNoLev z)|x < z} of type set → set.
L2427
Definition. We define SNoR to be λz ⇒ {y ∈ SNoS_ (SNoLev z)|z < y} of type set → set.
L2428
Axiom. (SNoCutP_SNoL_SNoR) We take the following as an axiom:
∀z, SNo z → SNoCutP (SNoL z) (SNoR z)
L2430
Axiom. (SNoL_E) We take the following as an axiom:
∀x, SNo x → ∀w ∈ SNoL x, ∀p : prop, (SNo w → SNoLev w ∈ SNoLev x → w < x → p) → p
L2435
Axiom. (SNoR_E) We take the following as an axiom:
∀x, SNo x → ∀z ∈ SNoR x, ∀p : prop, (SNo z → SNoLev z ∈ SNoLev x → x < z → p) → p
L2440
Axiom. (SNoL_SNoS) We take the following as an axiom:
∀x, SNo x → ∀w ∈ SNoL x, w ∈ SNoS_ (SNoLev x)
L2442
Axiom. (SNoR_SNoS) We take the following as an axiom:
∀x, SNo x → ∀z ∈ SNoR x, z ∈ SNoS_ (SNoLev x)
L2443
Axiom. (SNoL_SNoS_) We take the following as an axiom:
∀z, SNoL z ⊆ SNoS_ (SNoLev z)
L2444
Axiom. (SNoR_SNoS_) We take the following as an axiom:
∀z, SNoR z ⊆ SNoS_ (SNoLev z)
L2445
Axiom. (SNoL_I) We take the following as an axiom:
∀z, SNo z → ∀x, SNo x → SNoLev x ∈ SNoLev z → x < z → x ∈ SNoL z
L2447
Axiom. (SNoR_I) We take the following as an axiom:
∀z, SNo z → ∀y, SNo y → SNoLev y ∈ SNoLev z → z < y → y ∈ SNoR z
L2449
Axiom. (SNo_eta) We take the following as an axiom:
∀z, SNo z → z = SNoCut (SNoL z) (SNoR z)
L2451
Axiom. (SNoCutP_SNo_SNoCut) We take the following as an axiom:
∀L R, SNoCutP L R → SNo (SNoCut L R)
L2453
Axiom. (SNoCutP_SNoCut_L) We take the following as an axiom:
∀L R, SNoCutP L R → ∀x ∈ L, x < SNoCut L R
L2455
Axiom. (SNoCutP_SNoCut_R) We take the following as an axiom:
∀L R, SNoCutP L R → ∀y ∈ R, SNoCut L R < y
L2457
Axiom. (SNoCutP_SNoCut_fst) We take the following as an axiom:
∀L R, SNoCutP L R → ∀z, SNo z → (∀x ∈ L, x < z) → (∀y ∈ R, z < y) → SNoLev (SNoCut L R) ⊆ SNoLev z ∧ SNoEq_ (SNoLev (SNoCut L R)) (SNoCut L R) z
L2464
Axiom. (SNoCut_Le) We take the following as an axiom:
∀L1 R1 L2 R2, SNoCutP L1 R1 → SNoCutP L2 R2 → (∀w ∈ L1, w < SNoCut L2 R2) → (∀z ∈ R2, SNoCut L1 R1 < z) → SNoCut L1 R1 ≤ SNoCut L2 R2
L2469
Axiom. (SNoCut_ext) We take the following as an axiom:
∀L1 R1 L2 R2, SNoCutP L1 R1 → SNoCutP L2 R2 → (∀w ∈ L1, w < SNoCut L2 R2) → (∀z ∈ R1, SNoCut L2 R2 < z) → (∀w ∈ L2, w < SNoCut L1 R1) → (∀z ∈ R2, SNoCut L1 R1 < z) → SNoCut L1 R1 = SNoCut L2 R2
L2476
Axiom. (SNoLt_SNoL_or_SNoR_impred) We take the following as an axiom:
∀x y, SNo x → SNo y → x < y → ∀p : prop, (∀z ∈ SNoL y, z ∈ SNoR x → p) → (x ∈ SNoL y → p) → (y ∈ SNoR x → p) → p
L2483
Axiom. (SNoL_or_SNoR_impred) We take the following as an axiom:
∀x y, SNo x → SNo y → ∀p : prop, (x = y → p) → (∀z ∈ SNoL y, z ∈ SNoR x → p) → (x ∈ SNoL y → p) → (y ∈ SNoR x → p) → (∀z ∈ SNoR y, z ∈ SNoL x → p) → (x ∈ SNoR y → p) → (y ∈ SNoL x → p) → p
L2494
Axiom. (ordinal_SNo_) We take the following as an axiom:
∀alpha, ordinal alpha → SNo_ alpha alpha
L2496
Axiom. (ordinal_SNoL) We take the following as an axiom:
∀alpha, ordinal alpha → SNoL alpha = SNoS_ alpha
L2498
Axiom. (ordinal_SNoR) We take the following as an axiom:
∀alpha, ordinal alpha → SNoR alpha = Empty
L2499
Axiom. (ordinal_SNoCutP) We take the following as an axiom:
∀alpha, ordinal alpha → SNoCutP (SNoS_ alpha) Empty
L2500
Axiom. (ordinal_SNoCut_eta) We take the following as an axiom:
∀alpha, ordinal alpha → alpha = SNoCut (SNoS_ alpha) Empty
L2501
Axiom. (SNo_0) We take the following as an axiom:
L2503
Axiom. (SNoLev_0) We take the following as an axiom:
L2504
Axiom. (SNoL_0) We take the following as an axiom:
L2505
Axiom. (SNoR_0) We take the following as an axiom:
L2506
Axiom. (SNoL_1) We take the following as an axiom:
L2507
Axiom. (SNoR_1) We take the following as an axiom:
L2508
Axiom. (SNo_max_SNoLev) We take the following as an axiom:
∀x, SNo x → (∀y ∈ SNoS_ (SNoLev x), y < x) → SNoLev x = x
L2509
Axiom. (SNo_max_ordinal) We take the following as an axiom:
∀x, SNo x → (∀y ∈ SNoS_ (SNoLev x), y < x) → ordinal x
L2510
Definition. We define SNo_extend0 to be λx ⇒ PSNo (ordsucc (SNoLev x)) (λdelta ⇒ delta ∈ x ∧ delta ≠ SNoLev x) of type set → set.
L2512
Definition. We define SNo_extend1 to be λx ⇒ PSNo (ordsucc (SNoLev x)) (λdelta ⇒ delta ∈ x ∨ delta = SNoLev x) of type set → set.
L2514
Axiom. (SNo_extend0_SNo_) We take the following as an axiom:
∀x, SNo x → SNo_ (ordsucc (SNoLev x)) (SNo_extend0 x)
L2516
Axiom. (SNo_extend1_SNo_) We take the following as an axiom:
∀x, SNo x → SNo_ (ordsucc (SNoLev x)) (SNo_extend1 x)
L2518
Axiom. (SNo_extend0_SNo) We take the following as an axiom:
∀x, SNo x → SNo (SNo_extend0 x)
L2520
Axiom. (SNo_extend1_SNo) We take the following as an axiom:
∀x, SNo x → SNo (SNo_extend1 x)
L2522
Axiom. (SNo_extend0_SNoLev) We take the following as an axiom:
∀x, SNo x → SNoLev (SNo_extend0 x) = ordsucc (SNoLev x)
L2524
Axiom. (SNo_extend1_SNoLev) We take the following as an axiom:
∀x, SNo x → SNoLev (SNo_extend1 x) = ordsucc (SNoLev x)
L2526
Axiom. (SNo_extend0_nIn) We take the following as an axiom:
∀x, SNo x → SNoLev x ∉ SNo_extend0 x
L2528
Axiom. (SNo_extend1_In) We take the following as an axiom:
∀x, SNo x → SNoLev x ∈ SNo_extend1 x
L2530
Axiom. (SNo_extend0_SNoEq) We take the following as an axiom:
∀x, SNo x → SNoEq_ (SNoLev x) (SNo_extend0 x) x
L2532
Axiom. (SNo_extend1_SNoEq) We take the following as an axiom:
∀x, SNo x → SNoEq_ (SNoLev x) (SNo_extend1 x) x
L2534
Axiom. (SNo_extend0_Lt) We take the following as an axiom:
∀x, SNo x → SNo_extend0 x < x
L2536
Axiom. (SNo_extend1_Gt) We take the following as an axiom:
∀x, SNo x → x < SNo_extend1 x
L2537
Definition. We define eps_ to be λn ⇒ {0} ∪ {(ordsucc m) '|m ∈ n} of type set → set.
L2540
Axiom. (eps_ordinal_In_eq_0) We take the following as an axiom:
∀n alpha, ordinal alpha → alpha ∈ eps_ n → alpha = 0
L2542
Axiom. (eps_0_1) We take the following as an axiom:
L2543
Axiom. (SNo__eps_) We take the following as an axiom:
L2544
Axiom. (SNo_eps_) We take the following as an axiom:
L2545
Axiom. (SNoLev_eps_) We take the following as an axiom:
L2546
Axiom. (SNo_eps_SNoS_omega) We take the following as an axiom:
L2547
Axiom. (SNo_eps_decr) We take the following as an axiom:
∀n ∈ omega, ∀m ∈ n, eps_ n < eps_ m
L2548
Axiom. (SNo_eps_pos) We take the following as an axiom:
L2549
Axiom. (SNo_pos_eps_Lt) We take the following as an axiom:
∀n, nat_p n → ∀x ∈ SNoS_ n, 0 < x → eps_ n < x
End of Section TaggedSets2
L2552
Axiom. (ordinal_SNo) We take the following as an axiom:
∀alpha, ordinal alpha → SNo alpha
L2554
Axiom. (ordinal_SNoLev) We take the following as an axiom:
∀alpha, ordinal alpha → SNoLev alpha = alpha
L2556
Axiom. (ordinal_SNoLev_max) We take the following as an axiom:
∀alpha, ordinal alpha → ∀z, SNo z → SNoLev z ∈ alpha → z < alpha
L2558
Axiom. (ordinal_In_SNoLt) We take the following as an axiom:
∀alpha, ordinal alpha → ∀beta ∈ alpha, beta < alpha
L2560
Axiom. (ordinal_SNoLev_max_2) We take the following as an axiom:
∀alpha, ordinal alpha → ∀z, SNo z → SNoLev z ∈ ordsucc alpha → z ≤ alpha
L2562
Axiom. (ordinal_Subq_SNoLe) We take the following as an axiom:
∀alpha beta, ordinal alpha → ordinal beta → alpha ⊆ beta → alpha ≤ beta
L2564
Axiom. (SNo_etaE) We take the following as an axiom:
∀z, SNo z → ∀p : prop, (∀L R, SNoCutP L R → (∀x ∈ L, SNoLev x ∈ SNoLev z) → (∀y ∈ R, SNoLev y ∈ SNoLev z) → z = SNoCut L R → p) → p
L2573
Axiom. (SNo_ind) We take the following as an axiom:
∀P : set → prop, (∀L R, SNoCutP L R → (∀x ∈ L, P x) → (∀y ∈ R, P y) → P (SNoCut L R)) → ∀z, SNo z → P z
Beginning of Section SurrealRecI
L2584
Variable F : set → (set → set) → set
Primitive. The name SNo_rec_i is a term of type set → set.
L2589
Hypothesis Fr : ∀z, SNo z → ∀g h : set → set, (∀w ∈ SNoS_ (SNoLev z), g w = h w) → F z g = F z h
L2593
Axiom. (SNo_rec_i_eq) We take the following as an axiom:
∀z, SNo z → SNo_rec_i z = F z SNo_rec_i
End of Section SurrealRecI
Beginning of Section SurrealRecII
L2599
Variable F : set → (set → (set → set)) → (set → set)
Primitive. The name SNo_rec_ii is a term of type set → (set → set).
L2604
Hypothesis Fr : ∀z, SNo z → ∀g h : set → (set → set), (∀w ∈ SNoS_ (SNoLev z), g w = h w) → F z g = F z h
L2608
Axiom. (SNo_rec_ii_eq) We take the following as an axiom:
∀z, SNo z → SNo_rec_ii z = F z SNo_rec_ii
End of Section SurrealRecII
Beginning of Section SurrealRec2
L2614
Variable F : set → set → (set → set → set) → set
Primitive. The name SNo_rec2 is a term of type set → set → set.
L2619
Hypothesis Fr : ∀w, SNo w → ∀z, SNo z → ∀g h : set → set → set, (∀x ∈ SNoS_ (SNoLev w), ∀y, SNo y → g x y = h x y) → (∀y ∈ SNoS_ (SNoLev z), g w y = h w y) → F w z g = F w z h
L2625
Axiom. (SNo_rec2_eq) We take the following as an axiom:
∀w, SNo w → ∀z, SNo z → SNo_rec2 w z = F w z SNo_rec2
End of Section SurrealRec2
L2630
Axiom. (SNo_ordinal_ind) We take the following as an axiom:
∀P : set → prop, (∀alpha, ordinal alpha → ∀x ∈ SNoS_ alpha, P x) → (∀x, SNo x → P x)
L2635
Axiom. (SNo_ordinal_ind2) We take the following as an axiom:
∀P : set → set → prop, (∀alpha, ordinal alpha → ∀beta, ordinal beta → ∀x ∈ SNoS_ alpha, ∀y ∈ SNoS_ beta, P x y) → (∀x y, SNo x → SNo y → P x y)
L2642
Axiom. (SNo_ordinal_ind3) We take the following as an axiom:
∀P : set → set → set → prop, (∀alpha, ordinal alpha → ∀beta, ordinal beta → ∀gamma, ordinal gamma → ∀x ∈ SNoS_ alpha, ∀y ∈ SNoS_ beta, ∀z ∈ SNoS_ gamma, P x y z) → (∀x y z, SNo x → SNo y → SNo z → P x y z)
L2650
Axiom. (SNoLev_ind) We take the following as an axiom:
∀P : set → prop, (∀x, SNo x → (∀w ∈ SNoS_ (SNoLev x), P w) → P x) → (∀x, SNo x → P x)
L2655
Axiom. (SNoLev_ind2) We take the following as an axiom:
∀P : set → set → prop, (∀x y, SNo x → SNo y → (∀w ∈ SNoS_ (SNoLev x), P w y) → (∀z ∈ SNoS_ (SNoLev y), P x z) → (∀w ∈ SNoS_ (SNoLev x), ∀z ∈ SNoS_ (SNoLev y), P w z) → P x y) → ∀x y, SNo x → SNo y → P x y
L2663
Axiom. (SNoLev_ind3) We take the following as an axiom:
∀P : set → set → set → prop, (∀x y z, SNo x → SNo y → SNo z → (∀u ∈ SNoS_ (SNoLev x), P u y z) → (∀v ∈ SNoS_ (SNoLev y), P x v z) → (∀w ∈ SNoS_ (SNoLev z), P x y w) → (∀u ∈ SNoS_ (SNoLev x), ∀v ∈ SNoS_ (SNoLev y), P u v z) → (∀u ∈ SNoS_ (SNoLev x), ∀w ∈ SNoS_ (SNoLev z), P u y w) → (∀v ∈ SNoS_ (SNoLev y), ∀w ∈ SNoS_ (SNoLev z), P x v w) → (∀u ∈ SNoS_ (SNoLev x), ∀v ∈ SNoS_ (SNoLev y), ∀w ∈ SNoS_ (SNoLev z), P u v w) → P x y z) → ∀x y z, SNo x → SNo y → SNo z → P x y z
L2675
Axiom. (SNo_1) We take the following as an axiom:
L2677
Axiom. (SNo_2) We take the following as an axiom:
L2678
Axiom. (SNo_omega) We take the following as an axiom:
L2679
Axiom. (SNoLt_0_1) We take the following as an axiom:
0 < 1
L2680
Axiom. (SNoLt_0_2) We take the following as an axiom:
0 < 2
L2681
Axiom. (SNoLt_1_2) We take the following as an axiom:
1 < 2
L2682
Axiom. (SNoLev_0_eq_0) We take the following as an axiom:
∀x, SNo x → SNoLev x = 0 → x = 0
L2684
Axiom. (restr_SNo_) We take the following as an axiom:
∀x, SNo x → ∀alpha ∈ SNoLev x, SNo_ alpha (x ∩ SNoElts_ alpha)
L2685
Axiom. (restr_SNo) We take the following as an axiom:
∀x, SNo x → ∀alpha ∈ SNoLev x, SNo (x ∩ SNoElts_ alpha)
L2686
Axiom. (restr_SNoLev) We take the following as an axiom:
∀x, SNo x → ∀alpha ∈ SNoLev x, SNoLev (x ∩ SNoElts_ alpha) = alpha
L2687
Axiom. (restr_SNoEq) We take the following as an axiom:
∀x, SNo x → ∀alpha ∈ SNoLev x, SNoEq_ alpha (x ∩ SNoElts_ alpha) x
L2688
Axiom. (restr_SNo_SNoCut) We take the following as an axiom:
∀x, SNo x → ∀alpha ∈ SNoLev x, ∀p : prop, (SNoCutP {w ∈ SNoL x|SNoLev w ∈ alpha} {z ∈ SNoR x|SNoLev z ∈ alpha} → x ∩ SNoElts_ alpha = SNoCut {w ∈ SNoL x|SNoLev w ∈ alpha} {z ∈ SNoR x|SNoLev z ∈ alpha} → p) → p
Primitive. The name pack_e is a term of type set → set → set.
L2696
Axiom. (pack_e_0_eq) We take the following as an axiom:
∀S X, ∀c : set, S = pack_e X c → X = S 0
L2698
Axiom. (pack_e_0_eq2) We take the following as an axiom:
∀X, ∀c : set, X = pack_e X c 0
L2700
Axiom. (pack_e_1_eq) We take the following as an axiom:
∀S X, ∀c : set, S = pack_e X c → c = S 1
L2702
Axiom. (pack_e_1_eq2) We take the following as an axiom:
∀X, ∀c : set, c = pack_e X c 1
L2704
Axiom. (pack_e_inj) We take the following as an axiom:
∀X X', ∀c c', pack_e X c = pack_e X' c' → X = X' ∧ c = c'
L2706
Definition. We define struct_e to be λS ⇒ ∀q : set → prop, (∀X : set, ∀c : set, c ∈ X → q (pack_e X c)) → q S of type set → prop.
L2708
Axiom. (pack_struct_e_I) We take the following as an axiom:
∀X, ∀c : set, c ∈ X → struct_e (pack_e X c)
L2710
Axiom. (pack_struct_e_E1) We take the following as an axiom:
∀X, ∀c : set, struct_e (pack_e X c) → c ∈ X
L2712
Axiom. (struct_e_eta) We take the following as an axiom:
∀S, struct_e S → S = pack_e (S 0) (S 1)
Primitive. The name unpack_e_i is a term of type set → (set → set → set) → set.
L2717
Axiom. (unpack_e_i_eq) We take the following as an axiom:
∀Phi : set → set → set, ∀X, ∀c : set, unpack_e_i (pack_e X c) Phi = Phi X c
Primitive. The name unpack_e_o is a term of type set → (set → set → prop) → prop.
L2723
Axiom. (unpack_e_o_eq) We take the following as an axiom:
∀Phi : set → set → prop, ∀X, ∀c : set, unpack_e_o (pack_e X c) Phi = Phi X c
Primitive. The name pack_u is a term of type set → (set → set) → set.
L2729
Axiom. (pack_u_0_eq) We take the following as an axiom:
∀S X, ∀F : set → set, S = pack_u X F → X = S 0
L2731
Axiom. (pack_u_0_eq2) We take the following as an axiom:
∀X, ∀F : set → set, X = pack_u X F 0
L2733
Axiom. (pack_u_1_eq) We take the following as an axiom:
∀S X, ∀F : set → set, S = pack_u X F → ∀x ∈ X, F x = decode_u (S 1) x
L2735
Axiom. (pack_u_1_eq2) We take the following as an axiom:
∀X, ∀F : set → set, ∀x ∈ X, F x = decode_u (pack_u X F 1) x
L2737
Axiom. (pack_u_inj) We take the following as an axiom:
∀X X', ∀F F' : set → set, pack_u X F = pack_u X' F' → X = X' ∧ ∀x ∈ X, F x = F' x
L2739
Axiom. (pack_u_ext) We take the following as an axiom:
∀X, ∀F F' : set → set, (∀x ∈ X, F x = F' x) → pack_u X F = pack_u X F'
L2743
Definition. We define struct_u to be λS ⇒ ∀q : set → prop, (∀X, ∀F : set → set, (∀x ∈ X, F x ∈ X) → q (pack_u X F)) → q S of type set → prop.
L2745
Axiom. (pack_struct_u_I) We take the following as an axiom:
∀X, ∀F : set → set, (∀x ∈ X, F x ∈ X) → struct_u (pack_u X F)
L2747
Axiom. (pack_struct_u_E1) We take the following as an axiom:
∀X, ∀F : set → set, struct_u (pack_u X F) → ∀x ∈ X, F x ∈ X
L2749
Axiom. (struct_u_eta) We take the following as an axiom:
∀S, struct_u S → S = pack_u (S 0) (decode_u (S 1))
Primitive. The name unpack_u_i is a term of type set → (set → (set → set) → set) → set.
L2754
Axiom. (unpack_u_i_eq) We take the following as an axiom:
∀Phi : set → (set → set) → set, ∀X, ∀F : set → set, (∀F' : set → set, (∀x ∈ X, F x = F' x) → Phi X F' = Phi X F) → unpack_u_i (pack_u X F) Phi = Phi X F
Primitive. The name unpack_u_o is a term of type set → (set → (set → set) → prop) → prop.
L2763
Axiom. (unpack_u_o_eq) We take the following as an axiom:
∀Phi : set → (set → set) → prop, ∀X, ∀F : set → set, (∀F' : set → set, (∀x ∈ X, F x = F' x) → Phi X F' = Phi X F) → unpack_u_o (pack_u X F) Phi = Phi X F
Primitive. The name pack_b is a term of type set → (set → set → set) → set.
L2772
Axiom. (pack_b_0_eq) We take the following as an axiom:
∀S X, ∀F : set → set → set, S = pack_b X F → X = S 0
L2774
Axiom. (pack_b_0_eq2) We take the following as an axiom:
∀X, ∀F : set → set → set, X = pack_b X F 0
L2776
Axiom. (pack_b_1_eq) We take the following as an axiom:
∀S X, ∀F : set → set → set, S = pack_b X F → ∀x y ∈ X, F x y = decode_b (S 1) x y
L2778
Axiom. (pack_b_1_eq2) We take the following as an axiom:
∀X, ∀F : set → set → set, ∀x y ∈ X, F x y = decode_b (pack_b X F 1) x y
L2780
Axiom. (pack_b_inj) We take the following as an axiom:
∀X X', ∀F F' : set → set → set, pack_b X F = pack_b X' F' → X = X' ∧ ∀x y ∈ X, F x y = F' x y
L2782
Axiom. (pack_b_ext) We take the following as an axiom:
∀X, ∀F F' : set → set → set, (∀x y ∈ X, F x y = F' x y) → pack_b X F = pack_b X F'
L2786
Definition. We define struct_b to be λS ⇒ ∀q : set → prop, (∀X : set, ∀F : set → set → set, (∀x y ∈ X, F x y ∈ X) → q (pack_b X F)) → q S of type set → prop.
L2788
Axiom. (pack_struct_b_I) We take the following as an axiom:
∀X, ∀F : set → set → set, (∀x y ∈ X, F x y ∈ X) → struct_b (pack_b X F)
L2790
Axiom. (pack_struct_b_E1) We take the following as an axiom:
∀X, ∀F : set → set → set, struct_b (pack_b X F) → ∀x y ∈ X, F x y ∈ X
L2792
Axiom. (struct_b_eta) We take the following as an axiom:
∀S, struct_b S → S = pack_b (S 0) (decode_b (S 1))
Primitive. The name unpack_b_i is a term of type set → (set → (set → set → set) → set) → set.
L2797
Axiom. (unpack_b_i_eq) We take the following as an axiom:
∀Phi : set → (set → set → set) → set, ∀X, ∀F : set → set → set, (∀F' : set → set → set, (∀x y ∈ X, F x y = F' x y) → Phi X F' = Phi X F) → unpack_b_i (pack_b X F) Phi = Phi X F
Primitive. The name unpack_b_o is a term of type set → (set → (set → set → set) → prop) → prop.
L2806
Axiom. (unpack_b_o_eq) We take the following as an axiom:
∀Phi : set → (set → set → set) → prop, ∀X, ∀F : set → set → set, (∀F' : set → set → set, (∀x y ∈ X, F x y = F' x y) → Phi X F' = Phi X F) → unpack_b_o (pack_b X F) Phi = Phi X F
Primitive. The name pack_p is a term of type set → (set → prop) → set.
L2815
Axiom. (pack_p_0_eq) We take the following as an axiom:
∀S X, ∀P : set → prop, S = pack_p X P → X = S 0
L2817
Axiom. (pack_p_0_eq2) We take the following as an axiom:
∀X, ∀P : set → prop, X = pack_p X P 0
L2819
Axiom. (pack_p_1_eq) We take the following as an axiom:
∀S X, ∀P : set → prop, S = pack_p X P → ∀x ∈ X, P x = decode_p (S 1) x
L2821
Axiom. (pack_p_1_eq2) We take the following as an axiom:
∀X, ∀P : set → prop, ∀x ∈ X, P x = decode_p (pack_p X P 1) x
L2823
Axiom. (pack_p_inj) We take the following as an axiom:
∀X X', ∀P P' : set → prop, pack_p X P = pack_p X' P' → X = X' ∧ ∀x ∈ X, P x = P' x
L2825
Axiom. (pack_p_ext) We take the following as an axiom:
∀X, ∀P P' : set → prop, (∀x ∈ X, P x ↔ P' x) → pack_p X P = pack_p X P'
L2829
Definition. We define struct_p to be λS ⇒ ∀q : set → prop, (∀X : set, ∀P : set → prop, q (pack_p X P)) → q S of type set → prop.
L2831
Axiom. (pack_struct_p_I) We take the following as an axiom:
∀X, ∀P : set → prop, struct_p (pack_p X P)
L2833
Axiom. (struct_p_eta) We take the following as an axiom:
∀S, struct_p S → S = pack_p (S 0) (decode_p (S 1))
Primitive. The name unpack_p_i is a term of type set → (set → (set → prop) → set) → set.
L2838
Axiom. (unpack_p_i_eq) We take the following as an axiom:
∀Phi : set → (set → prop) → set, ∀X, ∀P : set → prop, (∀P' : set → prop, (∀x ∈ X, P x ↔ P' x) → Phi X P' = Phi X P) → unpack_p_i (pack_p X P) Phi = Phi X P
Primitive. The name unpack_p_o is a term of type set → (set → (set → prop) → prop) → prop.
L2847
Axiom. (unpack_p_o_eq) We take the following as an axiom:
∀Phi : set → (set → prop) → prop, ∀X, ∀P : set → prop, (∀P' : set → prop, (∀x ∈ X, P x ↔ P' x) → Phi X P' = Phi X P) → unpack_p_o (pack_p X P) Phi = Phi X P
Primitive. The name pack_r is a term of type set → (set → set → prop) → set.
L2856
Axiom. (pack_r_0_eq) We take the following as an axiom:
∀S X, ∀R : set → set → prop, S = pack_r X R → X = S 0
L2858
Axiom. (pack_r_0_eq2) We take the following as an axiom:
∀X, ∀R : set → set → prop, X = pack_r X R 0
L2860
Axiom. (pack_r_1_eq) We take the following as an axiom:
∀S X, ∀R : set → set → prop, S = pack_r X R → ∀x y ∈ X, R x y = decode_r (S 1) x y
L2862
Axiom. (pack_r_1_eq2) We take the following as an axiom:
∀X, ∀R : set → set → prop, ∀x y ∈ X, R x y = decode_r (pack_r X R 1) x y
L2864
Axiom. (pack_r_inj) We take the following as an axiom:
∀X X', ∀R R' : set → set → prop, pack_r X R = pack_r X' R' → X = X' ∧ ∀x y ∈ X, R x y = R' x y
L2866
Axiom. (pack_r_ext) We take the following as an axiom:
∀X, ∀R R' : set → set → prop, (∀x y ∈ X, R x y ↔ R' x y) → pack_r X R = pack_r X R'
L2870
Definition. We define struct_r to be λS ⇒ ∀q : set → prop, (∀X : set, ∀R : set → set → prop, q (pack_r X R)) → q S of type set → prop.
L2872
Axiom. (pack_struct_r_I) We take the following as an axiom:
∀X, ∀R : set → set → prop, struct_r (pack_r X R)
L2874
Axiom. (struct_r_eta) We take the following as an axiom:
∀S, struct_r S → S = pack_r (S 0) (decode_r (S 1))
Primitive. The name unpack_r_i is a term of type set → (set → (set → set → prop) → set) → set.
L2879
Axiom. (unpack_r_i_eq) We take the following as an axiom:
∀Phi : set → (set → set → prop) → set, ∀X, ∀R : set → set → prop, (∀R' : set → set → prop, (∀x y ∈ X, R x y ↔ R' x y) → Phi X R' = Phi X R) → unpack_r_i (pack_r X R) Phi = Phi X R
Primitive. The name unpack_r_o is a term of type set → (set → (set → set → prop) → prop) → prop.
L2888
Axiom. (unpack_r_o_eq) We take the following as an axiom:
∀Phi : set → (set → set → prop) → prop, ∀X, ∀R : set → set → prop, (∀R' : set → set → prop, (∀x y ∈ X, R x y ↔ R' x y) → Phi X R' = Phi X R) → unpack_r_o (pack_r X R) Phi = Phi X R
Primitive. The name pack_c is a term of type set → ((set → prop) → prop) → set.
L2897
Axiom. (pack_c_0_eq) We take the following as an axiom:
∀S X, ∀C : (set → prop) → prop, S = pack_c X C → X = S 0
L2899
Axiom. (pack_c_0_eq2) We take the following as an axiom:
∀X, ∀C : (set → prop) → prop, X = pack_c X C 0
L2901
Axiom. (pack_c_1_eq) We take the following as an axiom:
∀S X, ∀C : (set → prop) → prop, S = pack_c X C → ∀U : set → prop, (∀x, U x → x ∈ X) → C U = decode_c (S 1) U
L2903
Axiom. (pack_c_1_eq2) We take the following as an axiom:
∀X, ∀C : (set → prop) → prop, ∀U : set → prop, (∀x, U x → x ∈ X) → C U = decode_c (pack_c X C 1) U
L2905
Axiom. (pack_c_inj) We take the following as an axiom:
∀X X', ∀C C' : (set → prop) → prop, pack_c X C = pack_c X' C' → X = X' ∧ ∀U : set → prop, (∀x, U x → x ∈ X) → C U = C' U
L2907
Axiom. (pack_c_ext) We take the following as an axiom:
∀X, ∀C C' : (set → prop) → prop, (∀U : set → prop, (∀x, U x → x ∈ X) → (C U ↔ C' U)) → pack_c X C = pack_c X C'
L2911
Definition. We define struct_c to be λS ⇒ ∀q : set → prop, (∀X : set, ∀C : (set → prop) → prop, q (pack_c X C)) → q S of type set → prop.
L2913
Axiom. (pack_struct_c_I) We take the following as an axiom:
∀X, ∀C : (set → prop) → prop, struct_c (pack_c X C)
L2915
Axiom. (struct_c_eta) We take the following as an axiom:
∀S, struct_c S → S = pack_c (S 0) (decode_c (S 1))
Primitive. The name unpack_c_i is a term of type set → (set → ((set → prop) → prop) → set) → set.
L2920
Axiom. (unpack_c_i_eq) We take the following as an axiom:
∀Phi : set → ((set → prop) → prop) → set, ∀X, ∀C : (set → prop) → prop, (∀C' : (set → prop) → prop, (∀U : set → prop, (∀x, U x → x ∈ X) → (C U ↔ C' U)) → Phi X C' = Phi X C) → unpack_c_i (pack_c X C) Phi = Phi X C
Primitive. The name unpack_c_o is a term of type set → (set → ((set → prop) → prop) → prop) → prop.
L2929
Axiom. (unpack_c_o_eq) We take the following as an axiom:
∀Phi : set → ((set → prop) → prop) → prop, ∀X, ∀C : (set → prop) → prop, (∀C' : (set → prop) → prop, (∀U : set → prop, (∀x, U x → x ∈ X) → (C U ↔ C' U)) → Phi X C' = Phi X C) → unpack_c_o (pack_c X C) Phi = Phi X C
Primitive. The name canonical_elt is a term of type (set → set → prop) → set → set.
L2938
Axiom. (canonical_elt_rel) We take the following as an axiom:
∀R : set → set → prop, ∀x : set, R x x → R x (canonical_elt R x)
L2939
Axiom. (canonical_elt_eq) We take the following as an axiom:
∀R : set → set → prop, per R → ∀x y : set, R x y → canonical_elt R x = canonical_elt R y
L2940
Axiom. (canonical_elt_idem) We take the following as an axiom:
∀R : set → set → prop, per R → ∀x : set, R x x → canonical_elt R x = canonical_elt R (canonical_elt R x)
Primitive. The name quotient is a term of type (set → set → prop) → set → prop.
L2944
Axiom. (quotient_prop1) We take the following as an axiom:
∀R : set → set → prop, ∀x : set, quotient R x → R x x
L2946
Axiom. (quotient_prop2) We take the following as an axiom:
∀R : set → set → prop, per R → ∀x y : set, quotient R x → quotient R y → R x y → x = y
Primitive. The name canonical_elt_def is a term of type (set → set → prop) → (set → set) → set → set.
L2951
Axiom. (canonical_elt_def_rel) We take the following as an axiom:
∀R : set → set → prop, ∀d : set → set, ∀x : set, R x x → R x (canonical_elt_def R d x)
L2952
Axiom. (canonical_elt_def_eq) We take the following as an axiom:
∀R : set → set → prop, per R → ∀d : set → set, (∀x y : set, R x y → d x = d y) → ∀x y : set, R x y → canonical_elt_def R d x = canonical_elt_def R d y
L2956
Axiom. (canonical_elt_def_idem) We take the following as an axiom:
∀R : set → set → prop, per R → ∀d : set → set, (∀x y : set, R x y → d x = d y) → ∀x : set, R x x → canonical_elt_def R d x = canonical_elt_def R d (canonical_elt_def R d x)
Primitive. The name quotient_def is a term of type (set → set → prop) → (set → set) → set → prop.
L2963
Axiom. (quotient_def_prop0) We take the following as an axiom:
∀R : set → set → prop, per R → ∀d : set → set, ∀x : set, R x (d x) → x = d x → quotient_def R d x
L2967
Axiom. (quotient_def_prop1) We take the following as an axiom:
∀R : set → set → prop, ∀d : set → set, ∀x : set, quotient_def R d x → R x x
L2971
Axiom. (quotient_def_prop2) We take the following as an axiom:
∀R : set → set → prop, per R → ∀d : set → set, (∀x y : set, R x y → d x = d y) → ∀x y : set, quotient_def R d x → quotient_def R d y → R x y → x = y
Beginning of Section explicit_Nats
L2982
Variable N : set
L2984
Variable base : set
L2985
Variable S : set → set
Primitive. The name explicit_Nats is a term of type prop.
L2989
Axiom. (explicit_Nats_I) We take the following as an axiom:
(base ∈ N) → (∀m ∈ N, S m ∈ N) → (∀m ∈ N, S m ≠ base) → (∀m n ∈ N, S m = S n → m = n) → (∀p : set → prop, p base → (∀m, p m → p (S m)) → (∀m ∈ N, p m)) → explicit_Nats
L2997
Axiom. (explicit_Nats_E) We take the following as an axiom:
∀q : prop, (explicit_Nats → (base ∈ N) → (∀m ∈ N, S m ∈ N) → (∀m ∈ N, S m ≠ base) → (∀m n ∈ N, S m = S n → m = n) → (∀p : set → prop, p base → (∀m, p m → p (S m)) → (∀m ∈ N, p m)) → q) → explicit_Nats → q
L3007
Axiom. (explicit_Nats_ind) We take the following as an axiom:
explicit_Nats → ∀p : set → prop, p base → (∀m ∈ N, p m → p (S m)) → ∀m ∈ N, p m
Primitive. The name explicit_Nats_primrec is a term of type set → (set → set → set) → set → set.
L3016
Axiom. (explicit_Nats_primrec_base) We take the following as an axiom:
∀a, ∀f : set → set → set, explicit_Nats → explicit_Nats_primrec a f base = a
L3019
Axiom. (explicit_Nats_primrec_S) We take the following as an axiom:
∀a, ∀f : set → set → set, explicit_Nats → ∀n ∈ N, explicit_Nats_primrec a f (S n) = f n (explicit_Nats_primrec a f n)
L3023
Axiom. (explicit_Nats_primrec_P) We take the following as an axiom:
explicit_Nats → ∀P : set → prop, ∀a, P a → ∀f : set → set → set, (∀n ∈ N, ∀b, P b → P (f n b)) → ∀n ∈ N, P (explicit_Nats_primrec a f n)
End of Section explicit_Nats
L3030
Axiom. (explicit_Nats_omega) We take the following as an axiom:
Beginning of Section explicit_Nats_zero
L3034
Variable N : set
L3036
Variable zero : set
L3037
Variable S : set → set
Primitive. The name explicit_Nats_zero_plus is a term of type set → set → set.
Notation. We use + as an infix operator with priority 360 and which associates to the right corresponding to applying term explicit_Nats_zero_plus.
Primitive. The name explicit_Nats_zero_mult is a term of type set → set → set.
Notation. We use * as an infix operator with priority 355 and which associates to the right corresponding to applying term explicit_Nats_zero_mult.
L3048
Hypothesis HN : explicit_Nats N zero S
L3050
Axiom. (explicit_Nats_zero_plus_N) We take the following as an axiom:
∀n m ∈ N, n + m ∈ N
L3052
Axiom. (explicit_Nats_zero_plus_0L) We take the following as an axiom:
∀m ∈ N, zero + m = m
L3053
Axiom. (explicit_Nats_zero_plus_SL) We take the following as an axiom:
∀n m ∈ N, S n + m = S (n + m)
L3054
Axiom. (explicit_Nats_zero_mult_N) We take the following as an axiom:
∀n m ∈ N, n * m ∈ N
L3055
Axiom. (explicit_Nats_zero_mult_0L) We take the following as an axiom:
∀m ∈ N, zero * m = zero
L3056
Axiom. (explicit_Nats_zero_mult_SL) We take the following as an axiom:
∀n m ∈ N, S n * m = m + n * m
End of Section explicit_Nats_zero
Beginning of Section explicit_Nats_one
L3061
Variable N : set
L3063
Variable one : set
L3064
Variable S : set → set
Primitive. The name explicit_Nats_one_plus is a term of type set → set → set.
Notation. We use + as an infix operator with priority 360 and which associates to the right corresponding to applying term explicit_Nats_one_plus.
Primitive. The name explicit_Nats_one_mult is a term of type set → set → set.
Notation. We use * as an infix operator with priority 355 and which associates to the right corresponding to applying term explicit_Nats_one_mult.
Primitive. The name explicit_Nats_one_exp is a term of type set → set → set.
Notation. We use ^ as an infix operator with priority 342 and which associates to the right corresponding to applying term explicit_Nats_one_exp.
L3080
Hypothesis HN : explicit_Nats N one S
L3082
Axiom. (explicit_Nats_one_plus_N) We take the following as an axiom:
∀n m ∈ N, n + m ∈ N
L3084
Axiom. (explicit_Nats_one_plus_1L) We take the following as an axiom:
∀m ∈ N, one + m = S m
L3085
Axiom. (explicit_Nats_one_plus_SL) We take the following as an axiom:
∀n m ∈ N, S n + m = S (n + m)
L3086
Axiom. (explicit_Nats_one_mult_N) We take the following as an axiom:
∀n m ∈ N, n * m ∈ N
L3087
Axiom. (explicit_Nats_one_mult_1L) We take the following as an axiom:
∀m ∈ N, one * m = m
L3088
Axiom. (explicit_Nats_one_mult_SL) We take the following as an axiom:
∀n m ∈ N, S n * m = m + n * m
L3089
Axiom. (explicit_Nats_one_exp_N) We take the following as an axiom:
∀n m ∈ N, n ^ m ∈ N
L3090
Axiom. (explicit_Nats_one_exp_1L) We take the following as an axiom:
∀n ∈ N, n ^ one = n
L3091
Axiom. (explicit_Nats_one_exp_SL) We take the following as an axiom:
∀n m ∈ N, n ^ (S m) = n * n ^ m
L3092
Definition. We define explicit_Nats_one_lt to be λm n ⇒ m ∈ N ∧ n ∈ N ∧ ∃k ∈ N, m + k = n of type set → set → prop.
L3094
Definition. We define explicit_Nats_one_le to be λm n ⇒ m ∈ N ∧ n ∈ N ∧ (m = n ∨ ∃k ∈ N, m + k = n) of type set → set → prop.
Notation. We use < as an infix operator with priority 490 and no associativity corresponding to applying term explicit_Nats_one_lt.
Notation. We use ≤ as an infix operator with priority 490 and no associativity corresponding to applying term explicit_Nats_one_le.
End of Section explicit_Nats_one
Beginning of Section explicit_Nats_transfer
L3104
Variable N : set
L3106
Variable base : set
L3107
Variable S : set → set
L3108
Variable N' : set
L3109
Variable base' : set
L3110
Variable S' : set → set
L3111
Variable f : set → set
L3113
Axiom. (explicit_Nats_transfer) We take the following as an axiom:
explicit_Nats N base S → bij N N' f → f base = base' → (∀n ∈ N, f (S n) = S' (f n)) → explicit_Nats N' base' S'
End of Section explicit_Nats_transfer
Beginning of Section AssocComm
L3119
Variable R : set
L3121
Variable plus : set → set → set
Notation. We use + as an infix operator with priority 360 and which associates to the right corresponding to applying term plus.
L3124
Axiom. (AssocComm_identities) We take the following as an axiom:
(∀x y ∈ R, x + y ∈ R) → (∀x y z ∈ R, x + (y + z) = (x + y) + z) → (∀x y ∈ R, x + y = y + x) → ∀p : prop, ((∀x y z ∈ R, x + y + z = y + x + z) → (∀x y z ∈ R, x + y + z = z + x + y) → (∀x y z w ∈ R, (x + y) + (z + w) = (x + z) + (y + w)) → (∀x y z w ∈ R, x + y + z + w = w + x + y + z) → (∀x y z w ∈ R, x + y + z + w = z + w + x + y) → p) → p
End of Section AssocComm
Beginning of Section Group1
L3141
Variable G : set
Beginning of Section Group1Explicit
L3145
Variable op : set → set → set
L3148
Definition. We define explicit_Group to be (∀a b ∈ G, a * b ∈ G) ∧ (∀a b c ∈ G, a * (b * c) = (a * b) * c) ∧ ∃e ∈ G, (∀a ∈ G, e * a = a ∧ a * e = a) ∧ (∀a ∈ G, ∃b ∈ G, a * b = e ∧ b * a = e) of type prop.
L3155
Axiom. (explicit_Group_identity_unique) We take the following as an axiom:
∀e e' ∈ G, (∀a ∈ G, e * a = a) → (∀a ∈ G, a * e' = a) → e = e'
L3157
Hypothesis HG : explicit_Group
L3159
Definition. We define explicit_Group_identity to be Eps_i (λe ⇒ e ∈ G ∧ ((∀a ∈ G, e * a = a ∧ a * e = a) ∧ ∀a ∈ G, ∃b ∈ G, a * b = e ∧ b * a = e)) of type set.
L3161
L3163
Definition. We define explicit_Group_inverse to be λa ⇒ Eps_i (λb ⇒ b ∈ G ∧ (a * b = e ∧ b * a = e)) of type set → set.
L3167
Axiom. (explicit_Group_identity_prop) We take the following as an axiom:
e ∈ G ∧ ((∀a ∈ G, e * a = a ∧ a * e = a) ∧ ∀a ∈ G, ∃b ∈ G, a * b = e ∧ b * a = e)
L3169
Axiom. (explicit_Group_identity_in) We take the following as an axiom:
e ∈ G
L3171
Axiom. (explicit_Group_identity_lid) We take the following as an axiom:
∀a ∈ G, e * a = a
L3173
Axiom. (explicit_Group_identity_rid) We take the following as an axiom:
∀a ∈ G, a * e = a
L3175
Axiom. (explicit_Group_identity_invex) We take the following as an axiom:
∀a ∈ G, ∃b ∈ G, a * b = e ∧ b * a = e
L3177
Axiom. (explicit_Group_inverse_prop) We take the following as an axiom:
∀a ∈ G, a - ∈ G ∧ (a * a - = e ∧ a - * a = e)
L3179
Axiom. (explicit_Group_inverse_in) We take the following as an axiom:
∀a ∈ G, a - ∈ G
L3181
Axiom. (explicit_Group_inverse_rinv) We take the following as an axiom:
∀a ∈ G, a * a - = e
L3183
Axiom. (explicit_Group_inverse_linv) We take the following as an axiom:
∀a ∈ G, a - * a = e
L3185
Axiom. (explicit_Group_lcancel) We take the following as an axiom:
∀a b c ∈ G, a * b = a * c → b = c
L3187
Axiom. (explicit_Group_rcancel) We take the following as an axiom:
∀a b c ∈ G, a * c = b * c → a = b
L3189
Axiom. (explicit_Group_rinv_rev) We take the following as an axiom:
∀a b ∈ G, a * b = e → b = a -
L3191
Axiom. (explicit_Group_inv_com) We take the following as an axiom:
∀a b ∈ G, a * b = e → b * a = e
L3193
Axiom. (explicit_Group_inv_rev2) We take the following as an axiom:
∀a b ∈ G, (a * b) * (a * b) = e → (b * a) * (b * a) = e
L3195
Definition. We define explicit_abelian to be ∀a b ∈ G, a * b = b * a of type prop.
End of Section Group1Explicit
Beginning of Section Group1Explicit2
L3201
Variable op : set → set → set
Beginning of Section Group1Explicit2RepIndep
L3206
Variable op' : set → set → set
L3211
Axiom. (explicit_Group_repindep_imp) We take the following as an axiom:
L3213
L3215
L3216
Axiom. (explicit_Group_identity_repindep) We take the following as an axiom:
explicit_Group op → e = e'
L3222
Let inv ≝ explicit_Group_inverse op
L3224
Let inv' ≝ explicit_Group_inverse op'
L3225
Axiom. (explicit_Group_inverse_repindep) We take the following as an axiom:
explicit_Group op → ∀a ∈ G, inv a = inv' a
L3227
Axiom. (explicit_abelian_repindep_imp) We take the following as an axiom:
End of Section Group1Explicit2RepIndep
End of Section Group1Explicit2
Beginning of Section Group1Explicit3RepIndep
L3235
Variable op : set → set → set
L3238
Variable op' : set → set → set
L3243
Axiom. (explicit_Group_repindep) We take the following as an axiom:
L3245
Axiom. (explicit_abelian_repindep) We take the following as an axiom:
End of Section Group1Explicit3RepIndep
End of Section Group1
L3251
Definition. We define Group to be λG ⇒ struct_b G ∧ unpack_b_o G explicit_Group of type set → prop.
L3255
Definition. We define abelian_Group to be λG ⇒ Group G ∧ unpack_b_o G explicit_abelian of type set → prop.
L3258
Axiom. (Group_unpack_eq) We take the following as an axiom:
∀G, ∀op : set → set → set, unpack_b_o (pack_b G op) explicit_Group = explicit_Group G op
L3260
Axiom. (GroupI) We take the following as an axiom:
∀G, ∀op : set → set → set, explicit_Group G op → Group (pack_b G op)
L3262
Axiom. (GroupE) We take the following as an axiom:
∀G, ∀op : set → set → set, Group (pack_b G op) → explicit_Group G op
L3264
Axiom. (abelian_Group_unpack_eq) We take the following as an axiom:
∀G, ∀op : set → set → set, unpack_b_o (pack_b G op) explicit_abelian = explicit_abelian G op
L3266
Axiom. (abelian_Group_E) We take the following as an axiom:
∀G, ∀op : set → set → set, abelian_Group (pack_b G op) → Group (pack_b G op) ∧ explicit_abelian G op
Beginning of Section Group2
L3271
Variable G : set
L3273
Variable op : set → set → set
Notation. We use * as an infix operator with priority 355 and which associates to the right corresponding to applying term op.
Notation. We use - as a postfix operator with priority 340 corresponding to applying term explicit_Group_inverse G op.
L3276
Variable H : set
L3278
L3280
Definition. We define explicit_normal to be ∀x ∈ G, {x * a * x -|a ∈ H} ⊆ H of type prop.
L3282
Hypothesis HG : Group (pack_b G op)
L3284
L3286
Axiom. (explicit_subgroup_test) We take the following as an axiom:
H ⊆ G → e ∈ H → (∀a ∈ H, a - ∈ H) → (∀a b ∈ H, a * b ∈ H) → explicit_subgroup
L3288
Hypothesis HSG : explicit_subgroup
L3290
Let e' ≝ explicit_Group_identity H op
L3291
Axiom. (explicit_subgroup_identity_eq) We take the following as an axiom:
e = e'
L3293
Axiom. (explicit_subgroup_inv_eq) We take the following as an axiom:
L3295
Axiom. (explicit_abelian_normal) We take the following as an axiom:
End of Section Group2
Beginning of Section Group3
L3301
Variable H G : set
L3303
Variable op op' : set → set → set
Notation. We use * as an infix operator with priority 355 and which associates to the right corresponding to applying term op.
Notation. We use - as a postfix operator with priority 340 corresponding to applying term explicit_Group_inverse G op.
Notation. We use ⨯ as an infix operator with priority 355 and which associates to the right corresponding to applying term op'.
Notation. We use :-: as a postfix operator with priority 340 corresponding to applying term explicit_Group_inverse G op'.
L3308
Hypothesis HG : explicit_Group G op
L3310
Hypothesis HHG : H ⊆ G
L3311
Hypothesis Hopop' : ∀a b ∈ G, a * b = a ⨯ b
L3312
Axiom. (explicit_normal_repindep_imp) We take the following as an axiom:
explicit_normal G op H → explicit_normal G op' H
End of Section Group3
L3316
Definition. We define subgroup to be λH G ⇒ struct_b G ∧ struct_b H ∧ unpack_b_o G (λG' op ⇒ unpack_b_o H (λH' _ ⇒ H = pack_b H' op ∧ Group (pack_b H' op) ∧ H' ⊆ G')) of type set → set → prop.
Notation. We use ≤ as an infix operator with priority 400 and no associativity corresponding to applying term subgroup.
L3326
Definition. We define subgroup_index to be λH G ⇒ unpack_b_i G (λG' op ⇒ {n ∈ omega|∃f ∈ G'ordsucc n, ∀i j ∈ ordsucc n, i ≠ j → ∀a b ∈ H 0, op (f i) a ≠ op (f j) b}) of type set → set → set.
L3335
Definition. We define normal_subgroup to be λH G ⇒ H ≤ G ∧ unpack_b_o G (λG' op ⇒ unpack_b_o H (λH' _ ⇒ explicit_normal G' op H')) of type set → set → prop.
L3342
Axiom. (pack_b_subgroup_E) We take the following as an axiom:
∀H G : set, ∀opH op : set → set → set, pack_b H opH ≤ pack_b G op → pack_b H opH = pack_b H op ∧ explicit_subgroup G op H
L3347
Axiom. (subgroup_E) We take the following as an axiom:
∀H G, H ≤ G → ∀q : set → set → prop, (∀H G, ∀op : set → set → set, (∀a b ∈ G, op a b ∈ G) → Group (pack_b H op) → H ⊆ G → q (pack_b H op) (pack_b G op)) → q H G
L3355
Axiom. (abelian_group_normal_subgroup) We take the following as an axiom:
∀G, abelian_Group G → ∀H, H ≤ G → normal_subgroup H G
L3357
Axiom. (subgroup_transitive) We take the following as an axiom:
∀K H G, K ≤ H → H ≤ G → K ≤ G
Beginning of Section Group4
L3361
Variable A : set
L3363
Let G ≝ {f ∈ AA|bij A A (λx ⇒ f x)}
L3365
Let op ≝ λf g : set ⇒ λx ∈ A ⇒ g (f x)
Notation. We use * as an infix operator with priority 355 and which associates to the right corresponding to applying term op.
L3367
Let id ≝ λx ∈ A ⇒ x
L3369
Axiom. (explicit_Group_symgroup) We take the following as an axiom:
L3371
Axiom. (explicit_Group_symgroup_id_eq) We take the following as an axiom:
L3373
Axiom. (explicit_Group_symgroup_inv_eq) We take the following as an axiom:
∀f ∈ G, explicit_Group_inverse G op f = (λx ∈ A ⇒ inv A (λx ⇒ f x) x)
L3375
Variable B : set
L3377
Let H ≝ {f ∈ AA|bij A A (λx ⇒ f x) ∧ ∀x ∈ B, f x = x}
L3379
Axiom. (explicit_subgroup_symgroup_fixing) We take the following as an axiom:
B ⊆ A → explicit_subgroup G op H
End of Section Group4
L3383
Definition. We define symgroup to be λA ⇒ pack_b {f ∈ AA|bij A A (λx ⇒ f x)} (λf g ⇒ λx ∈ A ⇒ g (f x)) of type set → set.
L3385
Definition. We define symgroup_fixing to be λA B ⇒ pack_b {f ∈ AA|bij A A (λx ⇒ f x) ∧ ∀x ∈ B, f x = x} (λf g ⇒ λx ∈ A ⇒ g (f x)) of type set → set → set.
L3386
Axiom. (Group_symgroup) We take the following as an axiom:
∀A, Group (symgroup A)
L3388
Axiom. (Group_symgroup_fixing) We take the following as an axiom:
∀A B, B ⊆ A → Group (symgroup_fixing A B)
L3390
Axiom. (subgroup_symgroup_fixing) We take the following as an axiom:
∀A B, B ⊆ A → symgroup_fixing A B ≤ symgroup A
L3392
Axiom. (subgroup_symgroup_fixing2) We take the following as an axiom:
∀A B C, C ⊆ B → B ⊆ A → symgroup_fixing A B ≤ symgroup_fixing A C
L3394
Axiom. (nonnormal_subgroup) We take the following as an axiom:
∃H G, Group G ∧ H ≤ G ∧ ¬ normal_subgroup H G
L3396
Definition. We define normal_subgroup_equiv to be λG N a b ⇒ unpack_b_o G (λG op ⇒ a ∈ G ∧ b ∈ G ∧ op a (explicit_Group_inverse G op b) ∈ N 0) of type set → set → set → set → prop.
L3402
Definition. We define quotient_Group to be λG N ⇒ unpack_b_i G (λG' op ⇒ pack_b {a ∈ G'|quotient (normal_subgroup_equiv G N) a} (λa b ⇒ canonical_elt (normal_subgroup_equiv G N) (op a b))) of type set → set → set.
L3410
Definition. We define trivial_Group_p to be λG ⇒ Group G ∧ ∀x y ∈ G 0, x = y of type set → prop.
L3413
Definition. We define solvable_Group_p to be λG ⇒ ∃n ∈ omega, ∃Gseq, (∀i ∈ ordsucc n, Group (Gseq i)) ∧ (∀i ∈ n, normal_subgroup (Gseq (ordsucc i)) (Gseq i)) ∧ (∀i ∈ n, abelian_Group (quotient_Group (Gseq i) (Gseq (ordsucc i)))) ∧ G = Gseq 0 ∧ trivial_Group_p (Gseq n) of type set → prop.
L3422
Definition. We define Group_carrier to be λGs ⇒ Gs 0 of type set → set.
L3424
Definition. We define Group_op to be λGs ⇒ decode_b (Gs 1) of type set → set → set → set.
Beginning of Section Group2
L3427
Variable Gs : set
L3429
Variable Gs' : set
L3430
Let G : set ≝ Group_carrier Gs
Notation. We use * as an infix operator with priority 355 and which associates to the right corresponding to applying term Group_op Gs.
L3433
Let G' : set ≝ Group_carrier Gs'
Notation. We use ⨯ as an infix operator with priority 355 and which associates to the right corresponding to applying term Group_op Gs'.
L3435
Definition. We define Group_Hom to be λg ⇒ Group Gs ∧ Group Gs' ∧ g ∈ G'G ∧ ∀a b ∈ G, g (a * b) = g a ⨯ g b of type set → prop.
L3440
Definition. We define Group_Iso to be λg ⇒ Group_Hom g ∧ bij G G' (λx ⇒ g x) of type set → prop.
L3443
End of Section Group2
Beginning of Section explicit_Rng
L3450
Variable R : set
L3452
Variable zero : set
L3454
Variable plus mult : set → set → set
Notation. We use + as an infix operator with priority 360 and which associates to the right corresponding to applying term plus.
Notation. We use * as an infix operator with priority 355 and which associates to the right corresponding to applying term mult.
Primitive. The name explicit_Rng is a term of type prop.
L3461
Axiom. (explicit_Rng_I) We take the following as an axiom:
(∀x y ∈ R, x + y ∈ R) → (∀x y z ∈ R, x + (y + z) = (x + y) + z) → (∀x y ∈ R, x + y = y + x) → zero ∈ R → (∀x ∈ R, zero + x = x) → (∀x ∈ R, ∃y ∈ R, x + y = zero) → (∀x y ∈ R, x * y ∈ R) → (∀x y z ∈ R, x * (y * z) = (x * y) * z) → (∀x y z ∈ R, x * (y + z) = x * y + x * z) → (∀x y z ∈ R, (x + y) * z = x * z + y * z) → explicit_Rng
L3473
Axiom. (explicit_Rng_E) We take the following as an axiom:
∀q : prop, (explicit_Rng → (∀x y ∈ R, x + y ∈ R) → (∀x y z ∈ R, x + (y + z) = (x + y) + z) → (∀x y ∈ R, x + y = y + x) → (zero ∈ R) → (∀x ∈ R, zero + x = x) → (∀x ∈ R, ∃y ∈ R, x + y = zero) → (∀x y ∈ R, x * y ∈ R) → (∀x y z ∈ R, x * (y * z) = (x * y) * z) → (∀x y z ∈ R, x * (y + z) = x * y + x * z) → (∀x y z ∈ R, (x + y) * z = x * z + y * z) → q) → explicit_Rng → q
Primitive. The name explicit_Rng_minus is a term of type set → set.
Notation. We use - as a prefix operator with priority 358 corresponding to applying term explicit_Rng_minus.
L3493
Axiom. (explicit_Rng_minus_prop) We take the following as an axiom:
explicit_Rng → ∀x ∈ R, - x ∈ R ∧ x + - x = zero
L3495
Axiom. (explicit_Rng_minus_clos) We take the following as an axiom:
explicit_Rng → ∀x ∈ R, - x ∈ R
L3497
Axiom. (explicit_Rng_minus_R) We take the following as an axiom:
explicit_Rng → ∀x ∈ R, x + - x = zero
L3499
Axiom. (explicit_Rng_minus_L) We take the following as an axiom:
explicit_Rng → ∀x ∈ R, - x + x = zero
L3501
Axiom. (explicit_Rng_plus_cancelL) We take the following as an axiom:
explicit_Rng → ∀x y z ∈ R, x + y = x + z → y = z
L3503
Axiom. (explicit_Rng_plus_cancelR) We take the following as an axiom:
explicit_Rng → ∀x y z ∈ R, x + z = y + z → x = y
L3505
Axiom. (explicit_Rng_minus_invol) We take the following as an axiom:
explicit_Rng → ∀x ∈ R, - - x = x
End of Section explicit_Rng
Beginning of Section explicit_Ring
L3511
Variable R : set
L3513
Variable zero one : set
L3515
Variable plus mult : set → set → set
Notation. We use + as an infix operator with priority 360 and which associates to the right corresponding to applying term plus.
Notation. We use * as an infix operator with priority 355 and which associates to the right corresponding to applying term mult.
Primitive. The name explicit_Ring is a term of type prop.
L3522
Axiom. (explicit_Ring_I) We take the following as an axiom:
(∀x y ∈ R, x + y ∈ R) → (∀x y z ∈ R, x + (y + z) = (x + y) + z) → (∀x y ∈ R, x + y = y + x) → zero ∈ R → (∀x ∈ R, zero + x = x) → (∀x ∈ R, ∃y ∈ R, x + y = zero) → (∀x y ∈ R, x * y ∈ R) → (∀x y z ∈ R, x * (y * z) = (x * y) * z) → (one ∈ R) → (one ≠ zero) → (∀x ∈ R, one * x = x) → (∀x ∈ R, x * one = x) → (∀x y z ∈ R, x * (y + z) = x * y + x * z) → (∀x y z ∈ R, (x + y) * z = x * z + y * z) → explicit_Ring
L3538
Axiom. (explicit_Ring_E) We take the following as an axiom:
∀q : prop, (explicit_Ring → (∀x y ∈ R, x + y ∈ R) → (∀x y z ∈ R, x + (y + z) = (x + y) + z) → (∀x y ∈ R, x + y = y + x) → (zero ∈ R) → (∀x ∈ R, zero + x = x) → (∀x ∈ R, ∃y ∈ R, x + y = zero) → (∀x y ∈ R, x * y ∈ R) → (∀x y z ∈ R, x * (y * z) = (x * y) * z) → (one ∈ R) → (one ≠ zero) → (∀x ∈ R, one * x = x) → (∀x ∈ R, x * one = x) → (∀x y z ∈ R, x * (y + z) = x * y + x * z) → (∀x y z ∈ R, (x + y) * z = x * z + y * z) → q) → explicit_Ring → q
L3557
Axiom. (explicit_Ring_Rng) We take the following as an axiom:
explicit_Ring → explicit_Rng R zero plus mult
Notation. We use - as a prefix operator with priority 358 corresponding to applying term explicit_Rng_minus R zero plus mult.
L3561
Axiom. (explicit_Ring_minus_clos) We take the following as an axiom:
explicit_Ring → ∀x ∈ R, - x ∈ R
L3563
Axiom. (explicit_Ring_minus_R) We take the following as an axiom:
explicit_Ring → ∀x ∈ R, x + - x = zero
L3565
Axiom. (explicit_Ring_minus_L) We take the following as an axiom:
explicit_Ring → ∀x ∈ R, - x + x = zero
L3567
Axiom. (explicit_Ring_plus_cancelL) We take the following as an axiom:
explicit_Ring → ∀x y z ∈ R, x + y = x + z → y = z
L3569
Axiom. (explicit_Ring_plus_cancelR) We take the following as an axiom:
explicit_Ring → ∀x y z ∈ R, x + z = y + z → x = y
L3571
Axiom. (explicit_Ring_minus_invol) We take the following as an axiom:
explicit_Ring → ∀x ∈ R, - - x = x
L3573
Axiom. (explicit_Ring_minus_one_In) We take the following as an axiom:
explicit_Ring → - one ∈ R
L3575
Axiom. (explicit_Ring_zero_multR) We take the following as an axiom:
explicit_Ring → ∀x ∈ R, x * zero = zero
L3577
Axiom. (explicit_Ring_zero_multL) We take the following as an axiom:
explicit_Ring → ∀x ∈ R, zero * x = zero
L3578
Axiom. (explicit_Ring_minus_mult) We take the following as an axiom:
explicit_Ring → ∀x ∈ R, - x = (- one) * x
L3580
Axiom. (explicit_Ring_mult_minus) We take the following as an axiom:
explicit_Ring → ∀x ∈ R, - x = x * (- one)
L3582
Axiom. (explicit_Ring_minus_one_square) We take the following as an axiom:
explicit_Ring → (- one) * (- one) = one
L3584
Axiom. (explicit_Ring_minus_square) We take the following as an axiom:
explicit_Ring → ∀x ∈ R, (- x) * (- x) = x * x
L3586
Definition. We define explicit_Ring_exp_nat to be λx n ⇒ nat_primrec one (λ_ r ⇒ x * r) n of type set → set → set.
Notation. We use ^ as an infix operator with priority 342 and which associates to the right corresponding to applying term explicit_Ring_exp_nat.
L3591
Definition. We define explicit_Ring_eval_poly to be λn cs x ⇒ nat_primrec zero (λm r ⇒ cs m * x ^ m + r) n of type set → set → set → set.
End of Section explicit_Ring
Beginning of Section explicit_Ring_RepIndep2
L3600
Variable R : set
L3602
Variable zero one : set
L3604
Variable plus mult : set → set → set
Notation. We use + as an infix operator with priority 360 and which associates to the right corresponding to applying term plus.
Notation. We use * as an infix operator with priority 355 and which associates to the right corresponding to applying term mult.
L3608
Variable plus' mult' : set → set → set
Notation. We use + as an infix operator with priority 355 and which associates to the right corresponding to applying term plus'.
Notation. We use ⨯ as an infix operator with priority 355 and which associates to the right corresponding to applying term mult'.
L3612
L3614
Hypothesis Hmm' : ∀a b ∈ R, a * b = a ⨯ b
L3615
Axiom. (explicit_Ring_repindep) We take the following as an axiom:
explicit_Ring R zero one plus mult ↔ explicit_Ring R zero one plus' mult'
End of Section explicit_Ring_RepIndep2
Beginning of Section explicit_CRing
L3621
Variable R : set
L3623
Variable zero one : set
L3625
Variable plus mult : set → set → set
Notation. We use + as an infix operator with priority 360 and which associates to the right corresponding to applying term plus.
Notation. We use * as an infix operator with priority 355 and which associates to the right corresponding to applying term mult.
Primitive. The name explicit_CRing is a term of type prop.
L3632
Axiom. (explicit_CRing_I) We take the following as an axiom:
(∀x y ∈ R, x + y ∈ R) → (∀x y z ∈ R, x + (y + z) = (x + y) + z) → (∀x y ∈ R, x + y = y + x) → zero ∈ R → (∀x ∈ R, zero + x = x) → (∀x ∈ R, ∃y ∈ R, x + y = zero) → (∀x y ∈ R, x * y ∈ R) → (∀x y z ∈ R, x * (y * z) = (x * y) * z) → (∀x y ∈ R, x * y = y * x) → (one ∈ R) → (one ≠ zero) → (∀x ∈ R, one * x = x) → (∀x y z ∈ R, x * (y + z) = x * y + x * z) → explicit_CRing
L3647
Axiom. (explicit_CRing_E) We take the following as an axiom:
∀q : prop, (explicit_CRing → (∀x y ∈ R, x + y ∈ R) → (∀x y z ∈ R, x + (y + z) = (x + y) + z) → (∀x y ∈ R, x + y = y + x) → (zero ∈ R) → (∀x ∈ R, zero + x = x) → (∀x ∈ R, ∃y ∈ R, x + y = zero) → (∀x y ∈ R, x * y ∈ R) → (∀x y z ∈ R, x * (y * z) = (x * y) * z) → (∀x y ∈ R, x * y = y * x) → (one ∈ R) → (one ≠ zero) → (∀x ∈ R, one * x = x) → (∀x y z ∈ R, x * (y + z) = x * y + x * z) → q) → explicit_CRing → q
L3665
Axiom. (explicit_CRing_Ring) We take the following as an axiom:
explicit_CRing → explicit_Ring R zero one plus mult
L3667
Axiom. (explicit_CRing_Rng) We take the following as an axiom:
explicit_CRing → explicit_Rng R zero plus mult
Notation. We use - as a prefix operator with priority 358 corresponding to applying term explicit_Rng_minus R zero plus mult.
L3671
Axiom. (explicit_CRing_minus_clos) We take the following as an axiom:
explicit_CRing → ∀x ∈ R, - x ∈ R
L3673
Axiom. (explicit_CRing_minus_R) We take the following as an axiom:
explicit_CRing → ∀x ∈ R, x + - x = zero
L3675
Axiom. (explicit_CRing_minus_L) We take the following as an axiom:
explicit_CRing → ∀x ∈ R, - x + x = zero
L3677
Axiom. (explicit_CRing_plus_cancelL) We take the following as an axiom:
explicit_CRing → ∀x y z ∈ R, x + y = x + z → y = z
L3679
Axiom. (explicit_CRing_plus_cancelR) We take the following as an axiom:
explicit_CRing → ∀x y z ∈ R, x + z = y + z → x = y
L3681
Axiom. (explicit_CRing_minus_invol) We take the following as an axiom:
explicit_CRing → ∀x ∈ R, - - x = x
L3683
Axiom. (explicit_CRing_minus_one_In) We take the following as an axiom:
explicit_CRing → - one ∈ R
L3685
Axiom. (explicit_CRing_zero_multR) We take the following as an axiom:
explicit_CRing → ∀x ∈ R, x * zero = zero
L3687
Axiom. (explicit_CRing_zero_multL) We take the following as an axiom:
explicit_CRing → ∀x ∈ R, zero * x = zero
L3688
Axiom. (explicit_CRing_minus_mult) We take the following as an axiom:
explicit_CRing → ∀x ∈ R, - x = (- one) * x
L3690
Axiom. (explicit_CRing_mult_minus) We take the following as an axiom:
explicit_CRing → ∀x ∈ R, - x = x * (- one)
L3692
Axiom. (explicit_CRing_minus_one_square) We take the following as an axiom:
explicit_CRing → (- one) * (- one) = one
L3694
Axiom. (explicit_CRing_minus_square) We take the following as an axiom:
explicit_CRing → ∀x ∈ R, (- x) * (- x) = x * x
End of Section explicit_CRing
Beginning of Section explicit_CRing_RepIndep2
L3700
Variable R : set
L3702
Variable zero one : set
L3704
Variable plus mult : set → set → set
Notation. We use + as an infix operator with priority 360 and which associates to the right corresponding to applying term plus.
Notation. We use * as an infix operator with priority 355 and which associates to the right corresponding to applying term mult.
L3708
Variable plus' mult' : set → set → set
Notation. We use + as an infix operator with priority 355 and which associates to the right corresponding to applying term plus'.
Notation. We use ⨯ as an infix operator with priority 355 and which associates to the right corresponding to applying term mult'.
L3712
L3714
Hypothesis Hmm' : ∀a b ∈ R, a * b = a ⨯ b
L3715
Axiom. (explicit_CRing_repindep) We take the following as an axiom:
explicit_CRing R zero one plus mult ↔ explicit_CRing R zero one plus' mult'
End of Section explicit_CRing_RepIndep2
Primitive. The name pack_b_b_e is a term of type set → (set → set → set) → (set → set → set) → set → set.
L3722
Definition. We define struct_b_b_e to be λS ⇒ ∀q : set → prop, (∀X : set, ∀f : set → set → set, (∀x y ∈ X, f x y ∈ X) → ∀g : set → set → set, (∀x y ∈ X, g x y ∈ X) → ∀c : set, c ∈ X → q (pack_b_b_e X f g c)) → q S of type set → prop.
Primitive. The name unpack_b_b_e_i is a term of type set → (set → (set → set → set) → (set → set → set) → set → set) → set.
Primitive. The name unpack_b_b_e_o is a term of type set → (set → (set → set → set) → (set → set → set) → set → prop) → prop.
L3730
Axiom. (unpack_b_b_e_o_eq) We take the following as an axiom:
∀Phi : set → (set → set → set) → (set → set → set) → set → prop, ∀X, ∀f : set → set → set, ∀g : set → set → set, ∀c : set, (∀f' : set → set → set, (∀x y ∈ X, f x y = f' x y) → ∀g' : set → set → set, (∀x y ∈ X, g x y = g' x y) → Phi X f' g' c = Phi X f g c) → unpack_b_b_e_o (pack_b_b_e X f g c) Phi = Phi X f g c
L3736
Axiom. (pack_b_b_e_0_eq2) We take the following as an axiom:
∀X, ∀F G : set → set → set, ∀c, X = pack_b_b_e X F G c 0
L3738
Definition. We define Rng to be λR ⇒ struct_b_b_e R ∧ unpack_b_b_e_o R (λR plus mult zero ⇒ explicit_Rng R zero plus mult) of type set → prop.
L3742
Definition. We define Rng_minus to be λR x ⇒ unpack_b_b_e_i R (λR plus mult zero ⇒ explicit_Rng_minus R zero plus mult x) of type set → set → set.
Primitive. The name pack_b_b_e_e is a term of type set → (set → set → set) → (set → set → set) → set → set → set.
L3748
Definition. We define struct_b_b_e_e to be λS ⇒ ∀q : set → prop, (∀X : set, ∀f : set → set → set, (∀x y ∈ X, f x y ∈ X) → ∀g : set → set → set, (∀x y ∈ X, g x y ∈ X) → ∀c : set, c ∈ X → ∀d : set, d ∈ X → q (pack_b_b_e_e X f g c d)) → q S of type set → prop.
Primitive. The name unpack_b_b_e_e_i is a term of type set → (set → (set → set → set) → (set → set → set) → set → set → set) → set.
Primitive. The name unpack_b_b_e_e_o is a term of type set → (set → (set → set → set) → (set → set → set) → set → set → prop) → prop.
L3756
Axiom. (unpack_b_b_e_e_o_eq) We take the following as an axiom:
∀Phi : set → (set → set → set) → (set → set → set) → set → set → prop, ∀X, ∀f : set → set → set, ∀g : set → set → set, ∀c : set, ∀d : set, (∀f' : set → set → set, (∀x y ∈ X, f x y = f' x y) → ∀g' : set → set → set, (∀x y ∈ X, g x y = g' x y) → Phi X f' g' c d = Phi X f g c d) → unpack_b_b_e_e_o (pack_b_b_e_e X f g c d) Phi = Phi X f g c d
L3762
Axiom. (pack_b_b_e_e_0_eq2) We take the following as an axiom:
∀X, ∀F G : set → set → set, ∀c d, X = pack_b_b_e_e X F G c d 0
L3764
Definition. We define Ring to be λR ⇒ struct_b_b_e_e R ∧ unpack_b_b_e_e_o R (λR plus mult zero one ⇒ explicit_Ring R zero one plus mult) of type set → prop.
L3768
Axiom. (Ring_unpack_eq) We take the following as an axiom:
∀R, ∀plus mult : set → set → set, ∀zero one, unpack_b_b_e_e_o (pack_b_b_e_e R plus mult zero one) (λR plus mult zero one ⇒ explicit_Ring R zero one plus mult) = explicit_Ring R zero one plus mult
L3770
Definition. We define CRing to be λR ⇒ struct_b_b_e_e R ∧ unpack_b_b_e_e_o R (λR plus mult zero one ⇒ explicit_CRing R zero one plus mult) of type set → prop.
L3774
Axiom. (CRing_unpack_eq) We take the following as an axiom:
∀R, ∀plus mult : set → set → set, ∀zero one, unpack_b_b_e_e_o (pack_b_b_e_e R plus mult zero one) (λR plus mult zero one ⇒ explicit_CRing R zero one plus mult) = explicit_CRing R zero one plus mult
L3776
Definition. We define Rng_of_Ring to be λR ⇒ unpack_b_b_e_e_i R (λR plus mult zero one ⇒ pack_b_b_e R plus mult zero) of type set → set.
L3779
Axiom. (CRing_is_Ring) We take the following as an axiom:
∀R, CRing R → Ring R
Beginning of Section explicit_Reals
L3788
Variable R : set
L3790
Variable zero one : set
L3792
Variable plus mult : set → set → set
Notation. We use + as an infix operator with priority 360 and which associates to the right corresponding to applying term plus.
Notation. We use * as an infix operator with priority 355 and which associates to the right corresponding to applying term mult.
Primitive. The name explicit_Field is a term of type prop.
L3799
Axiom. (explicit_Field_I) We take the following as an axiom:
(∀x y ∈ R, x + y ∈ R) → (∀x y z ∈ R, x + (y + z) = (x + y) + z) → (∀x y ∈ R, x + y = y + x) → zero ∈ R → (∀x ∈ R, zero + x = x) → (∀x ∈ R, ∃y ∈ R, x + y = zero) → (∀x y ∈ R, x * y ∈ R) → (∀x y z ∈ R, x * (y * z) = (x * y) * z) → (∀x y ∈ R, x * y = y * x) → (one ∈ R) → (one ≠ zero) → (∀x ∈ R, one * x = x) → (∀x ∈ R, x ≠ zero → ∃y ∈ R, x * y = one) → (∀x y z ∈ R, x * (y + z) = x * y + x * z) → explicit_Field
L3815
Axiom. (explicit_Field_E) We take the following as an axiom:
∀q : prop, (explicit_Field → (∀x y ∈ R, x + y ∈ R) → (∀x y z ∈ R, x + (y + z) = (x + y) + z) → (∀x y ∈ R, x + y = y + x) → (zero ∈ R) → (∀x ∈ R, zero + x = x) → (∀x ∈ R, ∃y ∈ R, x + y = zero) → (∀x y ∈ R, x * y ∈ R) → (∀x y z ∈ R, x * (y * z) = (x * y) * z) → (∀x y ∈ R, x * y = y * x) → (one ∈ R) → (one ≠ zero) → (∀x ∈ R, one * x = x) → (∀x ∈ R, x ≠ zero → ∃y ∈ R, x * y = one) → (∀x y z ∈ R, x * (y + z) = x * y + x * z) → q) → explicit_Field → q
Primitive. The name explicit_Field_minus is a term of type set → set.
Notation. We use - as a prefix operator with priority 358 corresponding to applying term explicit_Field_minus.
L3839
Axiom. (explicit_Field_minus_prop) We take the following as an axiom:
explicit_Field → ∀x ∈ R, - x ∈ R ∧ x + - x = zero
L3841
Axiom. (explicit_Field_minus_clos) We take the following as an axiom:
explicit_Field → ∀x ∈ R, - x ∈ R
L3842
Axiom. (explicit_Field_minus_R) We take the following as an axiom:
explicit_Field → ∀x ∈ R, x + - x = zero
L3843
Axiom. (explicit_Field_minus_L) We take the following as an axiom:
explicit_Field → ∀x ∈ R, - x + x = zero
L3844
Axiom. (explicit_Field_plus_cancelL) We take the following as an axiom:
explicit_Field → ∀x y z ∈ R, x + y = x + z → y = z
L3845
Axiom. (explicit_Field_plus_cancelR) We take the following as an axiom:
explicit_Field → ∀x y z ∈ R, x + z = y + z → x = y
L3846
Axiom. (explicit_Field_minus_invol) We take the following as an axiom:
explicit_Field → ∀x ∈ R, - - x = x
L3847
Axiom. (explicit_Field_minus_one_In) We take the following as an axiom:
explicit_Field → - one ∈ R
L3848
Axiom. (explicit_Field_zero_multR) We take the following as an axiom:
explicit_Field → ∀x ∈ R, x * zero = zero
L3849
Axiom. (explicit_Field_zero_multL) We take the following as an axiom:
explicit_Field → ∀x ∈ R, zero * x = zero
L3850
Axiom. (explicit_Field_minus_mult) We take the following as an axiom:
explicit_Field → ∀x ∈ R, - x = (- one) * x
L3851
Axiom. (explicit_Field_minus_one_square) We take the following as an axiom:
explicit_Field → (- one) * (- one) = one
L3852
Axiom. (explicit_Field_minus_square) We take the following as an axiom:
explicit_Field → ∀x ∈ R, (- x) * (- x) = x * x
L3853
Axiom. (explicit_Field_minus_zero) We take the following as an axiom:
explicit_Field → - zero = zero
L3855
Axiom. (explicit_Field_dist_R) We take the following as an axiom:
explicit_Field → ∀x y z ∈ R, (x + y) * z = x * z + y * z
L3856
Axiom. (explicit_Field_minus_plus_dist) We take the following as an axiom:
explicit_Field → ∀x y ∈ R, - (x + y) = - x + - y
L3857
Axiom. (explicit_Field_minus_mult_L) We take the following as an axiom:
explicit_Field → ∀x y ∈ R, (- x) * y = - (x * y)
L3858
Axiom. (explicit_Field_minus_mult_R) We take the following as an axiom:
explicit_Field → ∀x y ∈ R, x * (- y) = - (x * y)
L3859
Axiom. (explicit_Field_square_zero_inv) We take the following as an axiom:
explicit_Field → ∀x ∈ R, x * x = zero → x = zero
L3860
Axiom. (explicit_Field_mult_zero_inv) We take the following as an axiom:
explicit_Field → ∀x y ∈ R, x * y = zero → x = zero ∨ y = zero
L3861
Variable leq : set → set → prop
Notation. We use ≤ as an infix operator with priority 490 and no associativity corresponding to applying term leq.
Primitive. The name explicit_OrderedField is a term of type prop.
L3869
Axiom. (explicit_OrderedField_I) We take the following as an axiom:
explicit_Field → (∀x y z ∈ R, x ≤ y → y ≤ z → x ≤ z) → (∀x y ∈ R, x ≤ y ∧ y ≤ x ↔ x = y) → (∀x y ∈ R, x ≤ y ∨ y ≤ x) → (∀x y z ∈ R, x ≤ y → x + z ≤ y + z) → (∀x y ∈ R, zero ≤ x → zero ≤ y → zero ≤ x * y) → explicit_OrderedField
L3877
Axiom. (explicit_OrderedField_E) We take the following as an axiom:
∀q : prop, (explicit_OrderedField → explicit_Field → (∀x y z ∈ R, x ≤ y → y ≤ z → x ≤ z) → (∀x y ∈ R, x ≤ y ∧ y ≤ x ↔ x = y) → (∀x y ∈ R, x ≤ y ∨ y ≤ x) → (∀x y z ∈ R, x ≤ y → x + z ≤ y + z) → (∀x y ∈ R, zero ≤ x → zero ≤ y → zero ≤ x * y) → q) → explicit_OrderedField → q
L3888
Axiom. (explicit_OrderedField_minus_leq) We take the following as an axiom:
explicit_OrderedField → ∀x y ∈ R, x ≤ y → - y ≤ - x
L3890
Axiom. (explicit_OrderedField_square_nonneg) We take the following as an axiom:
explicit_OrderedField → ∀x ∈ R, zero ≤ x * x
L3891
Axiom. (explicit_OrderedField_sum_squares_nonneg) We take the following as an axiom:
explicit_OrderedField → ∀x y ∈ R, zero ≤ x * x + y * y
L3892
Axiom. (explicit_OrderedField_sum_nonneg_zero_inv) We take the following as an axiom:
explicit_OrderedField → ∀x y ∈ R, zero ≤ x → zero ≤ y → x + y = zero → x = zero ∧ y = zero
L3893
Axiom. (explicit_OrderedField_sum_squares_zero_inv) We take the following as an axiom:
explicit_OrderedField → ∀x y ∈ R, x * x + y * y = zero → x = zero ∧ y = zero
L3894
Axiom. (explicit_OrderedField_leq_refl) We take the following as an axiom:
L3896
Axiom. (explicit_OrderedField_leq_antisym) We take the following as an axiom:
explicit_OrderedField → ∀x y ∈ R, x ≤ y → y ≤ x → x = y
L3897
Axiom. (explicit_OrderedField_leq_tra) We take the following as an axiom:
explicit_OrderedField → ∀x y z ∈ R, x ≤ y → y ≤ z → x ≤ z
L3898
Axiom. (explicit_OrderedField_leq_zero_one) We take the following as an axiom:
L3899
Definition. We define lt to be λx y ⇒ x ≤ y ∧ x ≠ y of type set → set → prop.
Notation. We use < as an infix operator with priority 490 and no associativity corresponding to applying term lt.
Primitive. The name natOfOrderedField_p is a term of type set → prop.
L3905
L3907
Let Npos ≝ {n ∈ N|n ≠ zero}
L3908
Axiom. (explicit_Nats_natOfOrderedField) We take the following as an axiom:
explicit_OrderedField → explicit_Nats N zero (λm ⇒ m + one)
L3910
Axiom. (explicit_PosNats_natOfOrderedField) We take the following as an axiom:
explicit_OrderedField → explicit_Nats Npos one (λm ⇒ m + one)
L3911
Let Z ≝ {n ∈ R|- n ∈ Npos ∨ n = zero ∨ n ∈ Npos}
L3913
Definition. We define explicit_OrderedField_rationalp to be λx ⇒ ∃n ∈ Z, ∃m ∈ Npos, m * x = n of type set → prop.
L3916
L3918
Axiom. (explicit_OrderedField_Npos_props) We take the following as an axiom:
explicit_OrderedField → ∀p : prop, (Npos ⊆ R → explicit_Nats Npos one (λm ⇒ m + one) → one ∈ Npos → (∀m ∈ Npos, m + one ≠ one) → (∀m ∈ Npos, ∀q : set → prop, q one → (∀n ∈ Npos, q (n + one)) → q m) → (∀n m ∈ Npos, explicit_Nats_one_plus Npos one (λm ⇒ m + one) n m = n + m) → (∀n m ∈ Npos, explicit_Nats_one_mult Npos one (λm ⇒ m + one) n m = n * m) → (∀n m ∈ Npos, n + m ∈ Npos) → (∀n m ∈ Npos, n * m ∈ Npos) → p) → p
L3932
Axiom. (explicit_OrderedField_Z_props) We take the following as an axiom:
explicit_OrderedField → ∀p : prop, ((∀n ∈ Npos, - n ∈ Z) → zero ∈ Z → Npos ⊆ Z → Z ⊆ R → (∀n ∈ Z, ∀q : prop, (- n ∈ Npos → q) → (n = zero → q) → (n ∈ Npos → q) → q) → one ∈ Z → - one ∈ Z → (∀m ∈ Z, - m ∈ Z) → (∀n m ∈ Z, n + m ∈ Z) → (∀n m ∈ Z, n * m ∈ Z) → p) → p
L3947
Axiom. (explicit_OrderedField_Q_props) We take the following as an axiom:
explicit_OrderedField → ∀p : prop, (Q ⊆ R → (∀x ∈ Q, ∀q : prop, (x ∈ R → ∀n ∈ Z, ∀m ∈ Npos, m * x = n → q) → q) → (∀x ∈ R, ∀n ∈ Z, ∀m ∈ Npos, m * x = n → x ∈ Q) → p) → p
Primitive. The name explicit_Reals is a term of type prop.
L3960
Axiom. (explicit_Reals_I) We take the following as an axiom:
explicit_OrderedField → (∀x y ∈ R, zero < x → zero ≤ y → ∃n ∈ N, y ≤ n * x) → (∀a b ∈ RN, (∀n ∈ N, a n ≤ b n ∧ a n ≤ a (n + one) ∧ b (n + one) ≤ b n) → ∃x ∈ R, ∀n ∈ N, a n ≤ x ∧ x ≤ b n) → explicit_Reals
L3967
Axiom. (explicit_Reals_E) We take the following as an axiom:
∀q : prop, (explicit_Reals → explicit_OrderedField → (∀x y ∈ R, zero < x → zero ≤ y → ∃n ∈ N, y ≤ n * x) → (∀a b ∈ RN, (∀n ∈ N, a n ≤ b n ∧ a n ≤ a (n + one) ∧ b (n + one) ≤ b n) → ∃x ∈ R, ∀n ∈ N, a n ≤ x ∧ x ≤ b n) → q) → explicit_Reals → q
L3977
Axiom. (explicit_Reals_characteristic_0) We take the following as an axiom:
explicit_Reals → ∀n ∈ omega, nat_primrec one (λ_ r ⇒ plus one r) n ≠ zero
End of Section explicit_Reals
L3981
Definition. We define CRing_carrier to be λRs ⇒ Rs 0 of type set → set.
L3983
Definition. We define CRing_plus to be λRs ⇒ decode_b (Rs 1) of type set → set → set → set.
L3984
Definition. We define CRing_mult to be λRs ⇒ decode_b (Rs 2) of type set → set → set → set.
L3985
Definition. We define CRing_zero to be λRs ⇒ Rs 3 of type set → set.
L3986
Definition. We define CRing_one to be λRs ⇒ Rs 4 of type set → set.
Beginning of Section CRing
L3989
Variable Rs : set
L3991
Hypothesis HRs : CRing Rs
L3992
Let R : set ≝ CRing_carrier Rs
L3994
Let zero : set ≝ CRing_zero Rs
L3995
Let one : set ≝ CRing_one Rs
Notation. We use + as an infix operator with priority 360 and which associates to the right corresponding to applying term CRing_plus Rs.
Notation. We use * as an infix operator with priority 355 and which associates to the right corresponding to applying term CRing_mult Rs.
L3998
Axiom. (CRing_eta) We take the following as an axiom:
Rs = pack_b_b_e_e R (CRing_plus Rs) (CRing_mult Rs) zero one
L4000
Axiom. (CRing_explicit_CRing) We take the following as an axiom:
explicit_CRing R zero one (CRing_plus Rs) (CRing_mult Rs)
L4001
Axiom. (CRing_zero_In) We take the following as an axiom:
zero ∈ R
L4002
Axiom. (CRing_one_In) We take the following as an axiom:
one ∈ R
L4003
Axiom. (CRing_plus_clos) We take the following as an axiom:
∀x y ∈ R, x + y ∈ R
L4004
Axiom. (CRing_mult_clos) We take the following as an axiom:
∀x y ∈ R, x * y ∈ R
L4005
Axiom. (CRing_plus_assoc) We take the following as an axiom:
∀x y z ∈ R, x + (y + z) = (x + y) + z
L4006
Axiom. (CRing_plus_com) We take the following as an axiom:
∀x y ∈ R, x + y = y + x
L4007
Axiom. (CRing_zero_L) We take the following as an axiom:
∀x ∈ R, zero + x = x
L4008
Axiom. (CRing_plus_inv) We take the following as an axiom:
∀x ∈ R, ∃y ∈ R, x + y = zero
L4009
Axiom. (CRing_mult_assoc) We take the following as an axiom:
∀x y z ∈ R, x * (y * z) = (x * y) * z
L4010
Axiom. (CRing_mult_com) We take the following as an axiom:
∀x y ∈ R, x * y = y * x
L4011
Axiom. (CRing_one_neq_zero) We take the following as an axiom:
one ≠ zero
L4012
Axiom. (CRing_one_L) We take the following as an axiom:
∀x ∈ R, one * x = x
L4013
Axiom. (CRing_distr_L) We take the following as an axiom:
∀x y z ∈ R, x * (y + z) = x * y + x * z
L4014
Definition. We define CRing_omega_exp to be λx ⇒ nat_primrec one (λk r ⇒ x * r) of type set → set → set.
Notation. We use ^ as an infix operator with priority 342 and which associates to the right corresponding to applying term CRing_omega_exp.
L4018
Axiom. (CRing_omega_exp_0) We take the following as an axiom:
∀x, x ^ 0 = one
L4020
Axiom. (CRing_omega_exp_S) We take the following as an axiom:
∀x, ∀n ∈ omega, x ^ (ordsucc n) = x * x ^ n
L4021
Axiom. (CRing_omega_exp_1) We take the following as an axiom:
∀x ∈ R, x ^ 1 = x
L4022
Axiom. (CRing_omega_exp_clos) We take the following as an axiom:
∀x ∈ R, ∀n ∈ omega, x ^ n ∈ R
L4023
Definition. We define CRing_eval_poly to be λn cs x ⇒ nat_primrec zero (λm r ⇒ cs m * x ^ m + r) n of type set → set → set → set.
L4028
Axiom. (CRing_eval_poly_clos) We take the following as an axiom:
∀n ∈ omega, ∀cs ∈ Rn, ∀x ∈ R, CRing_eval_poly n cs x ∈ R
End of Section CRing
Beginning of Section explicit_Reals
L4034
Variable R : set
L4036
Variable zero one : set
L4038
Variable plus mult : set → set → set
Notation. We use + as an infix operator with priority 360 and which associates to the right corresponding to applying term plus.
Notation. We use * as an infix operator with priority 355 and which associates to the right corresponding to applying term mult.
Notation. We use - as a prefix operator with priority 358 corresponding to applying term explicit_Field_minus R zero one plus mult.
L4044
Variable leq : set → set → prop
Notation. We use ≤ as an infix operator with priority 490 and no associativity corresponding to applying term leq.
L4048
Let N ≝ {n ∈ R|natOfOrderedField_p R zero one plus mult leq n}
L4050
Let Npos ≝ {n ∈ N|n ≠ zero}
L4051
Let Z ≝ {n ∈ R|- n ∈ Npos ∨ n = zero ∨ n ∈ Npos}
L4052
Let Q ≝ {x ∈ R|explicit_OrderedField_rationalp R zero one plus mult leq x}
L4053
Axiom. (explicit_OrderedField_explicit_Field_Q) We take the following as an axiom:
explicit_OrderedField R zero one plus mult leq → explicit_Field Q zero one plus mult
L4057
Axiom. (explicit_OrderedField_sub) We take the following as an axiom:
explicit_OrderedField R zero one plus mult leq → ∀R' ⊆ R, zero ∈ R' → one ∈ R' → (∀x y ∈ R', x + y ∈ R') → (∀x ∈ R', - x ∈ R') → (∀x y ∈ R', x * y ∈ R') → (∀x ∈ R', x ≠ zero → ∃y ∈ R', x * y = one) → explicit_OrderedField R' zero one plus mult leq
L4068
Axiom. (explicit_Reals_sub) We take the following as an axiom:
explicit_OrderedField R zero one plus mult leq → ∀R' ⊆ R, zero ∈ R' → one ∈ R' → (∀x y ∈ R', x + y ∈ R') → (∀x ∈ R', - x ∈ R') → (∀x y ∈ R', x * y ∈ R') → (∀x ∈ R', x ≠ zero → ∃y ∈ R', x * y = one) → explicit_OrderedField R' zero one plus mult leq
Beginning of Section explicit_Reals_Q_min_props
L4081
Variable R' : set
L4083
Let N' ≝ {n ∈ R'|natOfOrderedField_p R' zero one plus mult leq n}
L4084
Let Npos' ≝ {n ∈ N'|n ≠ zero}
L4085
Let Z' ≝ {n ∈ R'|explicit_Field_minus R' zero one plus mult n ∈ Npos' ∨ n = zero ∨ n ∈ Npos'}
L4086
Let Q' ≝ {x ∈ R'|explicit_OrderedField_rationalp R' zero one plus mult leq x}
L4087
Axiom. (explicit_Reals_Q_min_props) We take the following as an axiom:
explicit_OrderedField R zero one plus mult leq → R' ⊆ R → explicit_Field R' zero one plus mult → ∀p : prop, ((∀x ∈ R', explicit_Field_minus R' zero one plus mult x = - x) → (∀x ∈ R', - x ∈ R') → N = N' → Npos = Npos' → Z = Z' → Q = Q' → p) → p
End of Section explicit_Reals_Q_min_props
L4099
Axiom. (explicit_Reals_Q_min) We take the following as an axiom:
explicit_OrderedField R zero one plus mult leq → ∀R' ⊆ R, explicit_Field R' zero one plus mult → Q ⊆ R'
End of Section explicit_Reals
Beginning of Section explicit_Field_transfer
L4109
Variable R : set
L4111
Variable zero one : set
L4113
Variable plus mult : set → set → set
Notation. We use + as an infix operator with priority 360 and which associates to the right corresponding to applying term plus.
Notation. We use * as an infix operator with priority 355 and which associates to the right corresponding to applying term mult.
L4117
Variable R' : set
L4119
Variable zero' one' : set
L4121
Variable plus' mult' : set → set → set
Notation. We use + as an infix operator with priority 360 and which associates to the right corresponding to applying term plus'.
Notation. We use ⨯ as an infix operator with priority 355 and which associates to the right corresponding to applying term mult'.
L4125
Variable f : set → set
L4127
Axiom. (explicit_Field_transfer) We take the following as an axiom:
explicit_Field R zero one plus mult → bij R R' f → f zero = zero' → f one = one' → (∀x y ∈ R, f (x + y) = f x + f y) → (∀x y ∈ R, f (x * y) = f x ⨯ f y) → explicit_Field R' zero' one' plus' mult'
End of Section explicit_Field_transfer
Beginning of Section explicit_Field_RepIndep2
L4139
Variable R : set
L4141
Variable zero one : set
L4143
Variable plus mult : set → set → set
Notation. We use + as an infix operator with priority 360 and which associates to the right corresponding to applying term plus.
Notation. We use * as an infix operator with priority 355 and which associates to the right corresponding to applying term mult.
L4147
Variable plus' mult' : set → set → set
Notation. We use + as an infix operator with priority 355 and which associates to the right corresponding to applying term plus'.
Notation. We use ⨯ as an infix operator with priority 355 and which associates to the right corresponding to applying term mult'.
L4151
L4153
Hypothesis Hmm' : ∀a b ∈ R, a * b = a ⨯ b
L4154
Axiom. (explicit_Field_repindep) We take the following as an axiom:
explicit_Field R zero one plus mult ↔ explicit_Field R zero one plus' mult'
End of Section explicit_Field_RepIndep2
L4158
Definition. We define Field to be λF ⇒ struct_b_b_e_e F ∧ unpack_b_b_e_e_o F (λQ plus mult zero one ⇒ explicit_Field Q zero one plus mult) of type set → prop.
L4162
Axiom. (Field_unpack_eq) We take the following as an axiom:
∀R, ∀plus mult : set → set → set, ∀zero one, unpack_b_b_e_e_o (pack_b_b_e_e R plus mult zero one) (λR plus mult zero one ⇒ explicit_Field R zero one plus mult) = explicit_Field R zero one plus mult
L4164
Axiom. (Field_is_CRing) We take the following as an axiom:
∀F, Field F → CRing F
Beginning of Section explicit_OrderedField_transfer
L4168
Variable R : set
L4170
Variable zero one : set
L4172
Variable plus mult : set → set → set
Notation. We use + as an infix operator with priority 360 and which associates to the right corresponding to applying term plus.
Notation. We use * as an infix operator with priority 355 and which associates to the right corresponding to applying term mult.
L4176
Variable leq : set → set → prop
Notation. We use ≤ as an infix operator with priority 490 and no associativity corresponding to applying term leq.
L4181
Variable R' : set
L4183
Variable zero' one' : set
L4185
Variable plus' mult' : set → set → set
Notation. We use + as an infix operator with priority 360 and which associates to the right corresponding to applying term plus'.
Notation. We use ⨯ as an infix operator with priority 355 and which associates to the right corresponding to applying term mult'.
L4189
Variable leq' : set → set → prop
L4191
Variable f : set → set
L4193
Axiom. (explicit_OrderedField_transfer) We take the following as an axiom:
explicit_OrderedField R zero one plus mult leq → bij R R' f → f zero = zero' → f one = one' → (∀x y ∈ R, f (x + y) = f x + f y) → (∀x y ∈ R, f (x * y) = f x ⨯ f y) → (∀x y ∈ R, x ≤ y ↔ leq' (f x) (f y)) → explicit_OrderedField R' zero' one' plus' mult' leq'
End of Section explicit_OrderedField_transfer
L4204
Definition. We define Field_carrier to be λFs ⇒ Fs 0 of type set → set.
L4206
Definition. We define Field_plus to be λFs ⇒ decode_b (Fs 1) of type set → set → set → set.
L4207
Definition. We define Field_mult to be λFs ⇒ decode_b (Fs 2) of type set → set → set → set.
L4208
Definition. We define Field_zero to be λFs ⇒ Fs 3 of type set → set.
L4209
Definition. We define Field_one to be λFs ⇒ Fs 4 of type set → set.
Primitive. The name Field_minus is a term of type set → set → set.
Beginning of Section Field
L4215
Variable Fs : set
L4217
Hypothesis HFs : Field Fs
L4218
Let F : set ≝ Field_carrier Fs
L4220
Let zero : set ≝ Field_zero Fs
L4221
Let one : set ≝ Field_one Fs
Notation. We use + as an infix operator with priority 360 and which associates to the right corresponding to applying term Field_plus Fs.
Notation. We use * as an infix operator with priority 355 and which associates to the right corresponding to applying term Field_mult Fs.
Notation. We use - as a prefix operator with priority 358 corresponding to applying term Field_minus Fs.
L4225
Axiom. (Field_eta) We take the following as an axiom:
Fs = pack_b_b_e_e F (Field_plus Fs) (Field_mult Fs) zero one
L4227
Axiom. (Field_explicit_Field) We take the following as an axiom:
explicit_Field F zero one (Field_plus Fs) (Field_mult Fs)
L4228
Axiom. (Field_zero_In) We take the following as an axiom:
zero ∈ F
L4229
Axiom. (Field_one_In) We take the following as an axiom:
one ∈ F
L4230
Axiom. (Field_plus_clos) We take the following as an axiom:
∀x y ∈ F, x + y ∈ F
L4231
Axiom. (Field_mult_clos) We take the following as an axiom:
∀x y ∈ F, x * y ∈ F
L4232
Axiom. (Field_plus_assoc) We take the following as an axiom:
∀x y z ∈ F, x + (y + z) = (x + y) + z
L4233
Axiom. (Field_plus_com) We take the following as an axiom:
∀x y ∈ F, x + y = y + x
L4234
Axiom. (Field_zero_L) We take the following as an axiom:
∀x ∈ F, zero + x = x
L4235
Axiom. (Field_plus_inv) We take the following as an axiom:
∀x ∈ F, ∃y ∈ F, x + y = zero
L4236
Axiom. (Field_mult_assoc) We take the following as an axiom:
∀x y z ∈ F, x * (y * z) = (x * y) * z
L4237
Axiom. (Field_mult_com) We take the following as an axiom:
∀x y ∈ F, x * y = y * x
L4238
Axiom. (Field_one_neq_zero) We take the following as an axiom:
one ≠ zero
L4239
Axiom. (Field_one_L) We take the following as an axiom:
∀x ∈ F, one * x = x
L4240
Axiom. (Field_mult_inv_L) We take the following as an axiom:
∀x ∈ F, x ≠ zero → ∃y ∈ F, x * y = one
L4241
Axiom. (Field_distr_L) We take the following as an axiom:
∀x y z ∈ F, x * (y + z) = x * y + x * z
Primitive. The name Field_div is a term of type set → set → set.
Notation. We use :/: as an infix operator with priority 353 and no associativity corresponding to applying term Field_div.
L4247
Axiom. (Field_div_prop) We take the following as an axiom:
∀x ∈ F, ∀y ∈ F ∖ {zero}, x :/: y ∈ F ∧ x = y * (x :/: y)
L4249
Axiom. (Field_div_clos) We take the following as an axiom:
∀x ∈ F, ∀y ∈ F ∖ {zero}, x :/: y ∈ F
L4250
Axiom. (Field_mult_div) We take the following as an axiom:
∀x ∈ F, ∀y ∈ F ∖ {zero}, x = y * (x :/: y)
L4251
Axiom. (Field_div_undef1) We take the following as an axiom:
∀x y, x ∉ F → x :/: y = 0
L4252
Axiom. (Field_div_undef2) We take the following as an axiom:
∀x y, y ∉ F → x :/: y = 0
L4253
Axiom. (Field_div_undef3) We take the following as an axiom:
∀x, x :/: zero = 0
Notation. We use ^ as an infix operator with priority 342 and which associates to the right corresponding to applying term CRing_omega_exp Fs.
L4256
Axiom. (Field_omega_exp_0) We take the following as an axiom:
∀x, x ^ 0 = one
L4258
Axiom. (Field_omega_exp_S) We take the following as an axiom:
∀x, ∀n ∈ omega, x ^ (ordsucc n) = x * x ^ n
L4259
Axiom. (Field_omega_exp_1) We take the following as an axiom:
∀x ∈ F, x ^ 1 = x
L4260
Axiom. (Field_omega_exp_clos) We take the following as an axiom:
∀x ∈ F, ∀n ∈ omega, x ^ n ∈ F
L4261
Axiom. (Field_eval_poly_clos) We take the following as an axiom:
∀n ∈ omega, ∀cs ∈ Fn, ∀x ∈ F, CRing_eval_poly Fs n cs x ∈ F
L4262
Axiom. (Field_plus_cancelL) We take the following as an axiom:
∀x y z ∈ F, x + y = x + z → y = z
L4264
Axiom. (Field_plus_cancelR) We take the following as an axiom:
∀x y z ∈ F, x + z = y + z → x = y
L4265
Axiom. (Field_minus_eq) We take the following as an axiom:
∀x ∈ F, - x = explicit_Field_minus F zero one (Field_plus Fs) (Field_mult Fs) x
L4266
Axiom. (Field_minus_undef) We take the following as an axiom:
∀x, x ∉ F → - x = 0
L4267
Axiom. (Field_minus_clos) We take the following as an axiom:
∀x ∈ F, - x ∈ F
L4268
Axiom. (Field_minus_R) We take the following as an axiom:
∀x ∈ F, x + - x = zero
L4269
Axiom. (Field_minus_L) We take the following as an axiom:
∀x ∈ F, - x + x = zero
L4270
Axiom. (Field_minus_invol) We take the following as an axiom:
∀x ∈ F, - - x = x
L4271
Axiom. (Field_minus_one_In) We take the following as an axiom:
- one ∈ F
L4272
Axiom. (Field_zero_multR) We take the following as an axiom:
∀x ∈ F, x * zero = zero
L4273
Axiom. (Field_zero_multL) We take the following as an axiom:
∀x ∈ F, zero * x = zero
L4274
Axiom. (Field_minus_mult) We take the following as an axiom:
∀x ∈ F, - x = (- one) * x
L4275
Axiom. (Field_minus_one_square) We take the following as an axiom:
(- one) * (- one) = one
L4276
Axiom. (Field_minus_square) We take the following as an axiom:
∀x ∈ F, (- x) * (- x) = x * x
L4277
Axiom. (Field_minus_zero) We take the following as an axiom:
- zero = zero
L4278
Axiom. (Field_dist_R) We take the following as an axiom:
∀x y z ∈ F, (x + y) * z = x * z + y * z
L4279
Axiom. (Field_minus_plus_dist) We take the following as an axiom:
∀x y ∈ F, - (x + y) = - x + - y
L4280
Axiom. (Field_minus_mult_L) We take the following as an axiom:
∀x y ∈ F, (- x) * y = - (x * y)
L4281
Axiom. (Field_minus_mult_R) We take the following as an axiom:
∀x y ∈ F, x * (- y) = - (x * y)
L4282
Axiom. (Field_square_zero_inv) We take the following as an axiom:
∀x ∈ F, x * x = zero → x = zero
L4283
Axiom. (Field_mult_zero_inv) We take the following as an axiom:
∀x y ∈ F, x * y = zero → x = zero ∨ y = zero
End of Section Field
Beginning of Section Field2
L4288
Variable Fs : set
L4290
Variable Fs' : set
L4291
Let F : set ≝ Field_carrier Fs
L4293
Let zero : set ≝ Field_zero Fs
L4294
Let one : set ≝ Field_one Fs
Notation. We use + as an infix operator with priority 360 and which associates to the right corresponding to applying term Field_plus Fs.
Notation. We use * as an infix operator with priority 355 and which associates to the right corresponding to applying term Field_mult Fs.
L4297
Let F' : set ≝ Field_carrier Fs'
L4298
Let zero' : set ≝ Field_zero Fs'
L4299
Let one' : set ≝ Field_one Fs'
Notation. We use + as an infix operator with priority 360 and which associates to the right corresponding to applying term Field_plus Fs'.
Notation. We use ⨯ as an infix operator with priority 355 and which associates to the right corresponding to applying term Field_mult Fs'.
Notation. We use - as a prefix operator with priority 358 corresponding to applying term Field_minus Fs.
Notation. We use :-: as a prefix operator with priority 358 corresponding to applying term Field_minus Fs'.
Primitive. The name subfield is a term of type prop.
L4308
Axiom. (subfield_I) We take the following as an axiom:
Field Fs → Field Fs' → F ⊆ F' → zero = zero' → one = one' → (∀a b ∈ F, a + b = a + b) → (∀a b ∈ F, a * b = a ⨯ b) → subfield
L4314
Axiom. (subfield_E) We take the following as an axiom:
subfield → ∀p : prop, (Field Fs → Field Fs' → F ⊆ F' → zero = zero' → one = one' → (∀a b ∈ F, a + b = a + b) → (∀a b ∈ F, a * b = a ⨯ b) → p) → p
Primitive. The name Field_Hom is a term of type set → prop.
L4324
Axiom. (Field_Hom_I) We take the following as an axiom:
∀g, Field Fs → Field Fs' → g ∈ F'F → g zero = zero' → g one = one' → (∀a b ∈ F, g (a + b) = g a + g b) → (∀a b ∈ F, g (a * b) = g a ⨯ g b) → Field_Hom g
L4333
Axiom. (Field_Hom_E) We take the following as an axiom:
∀g, Field_Hom g → ∀p : prop, (Field Fs → Field Fs' → g ∈ F'F → g zero = zero' → g one = one' → (∀a b ∈ F, g (a + b) = g a + g b) → (∀a b ∈ F, g (a * b) = g a ⨯ g b) → (∀a ∈ F, g (- a) = :-: g a) → (∀a ∈ F, g a = zero' → a = zero) → (∀a b ∈ F, g a = g b → a = b) → (∀a ∈ F, ∀n ∈ omega, g (CRing_omega_exp Fs a n) = CRing_omega_exp Fs' (g a) n) → p) → p
L4346
Axiom. (Field_Hom_inj) We take the following as an axiom:
∀g, Field_Hom g → ∀a b ∈ F, g a = g b → a = b
End of Section Field2
L4349
Axiom. (subfield_refl) We take the following as an axiom:
∀Fs, Field Fs → subfield Fs Fs
L4351
Axiom. (subfield_tra) We take the following as an axiom:
∀Fs Fs' Fs'', subfield Fs Fs' → subfield Fs' Fs'' → subfield Fs Fs''
Primitive. The name Field_extension_by_1 is a term of type set → set → set → prop.
L4355
Axiom. (Field_extension_by_1_I) We take the following as an axiom:
∀Fs Fs' a, subfield Fs Fs' → a ∈ Field_carrier Fs' ∖ Field_carrier Fs → (∀Fs'', subfield Fs Fs'' → a ∈ Field_carrier Fs'' → subfield Fs' Fs'') → Field_extension_by_1 Fs Fs' a
L4361
Axiom. (Field_extension_by_1_E) We take the following as an axiom:
∀Fs Fs' a, Field_extension_by_1 Fs Fs' a → ∀p : prop, (subfield Fs Fs' → a ∈ Field_carrier Fs' ∖ Field_carrier Fs → (∀Fs'', subfield Fs Fs'' → a ∈ Field_carrier Fs'' → subfield Fs' Fs'') → p) → p
Primitive. The name radical_field_extension is a term of type set → set → prop.
L4370
Axiom. (radical_field_extension_I) We take the following as an axiom:
∀Fs Fs', ∀r ∈ omega, ∀Fseq, Fseq 0 = Fs → Fseq r = Fs' → (∀i ∈ ordsucc r, Field (Fseq i)) → (∀i ∈ r, ∃a ∈ Field_carrier (Fseq (ordsucc i)), ∃n ∈ omega, CRing_omega_exp (Fseq (ordsucc i)) a n ∈ Field_carrier (Fseq i) ∧ Field_extension_by_1 (Fseq i) (Fseq (ordsucc i)) a) → radical_field_extension Fs Fs'
L4379
Axiom. (radical_field_extension_E) We take the following as an axiom:
∀Fs Fs', radical_field_extension Fs Fs' → ∀p : prop, (Field Fs → Field Fs' → subfield Fs Fs' → ∀r ∈ omega, ∀Fseq, Fseq 0 = Fs → Fseq r = Fs' → (∀i ∈ ordsucc r, Field (Fseq i)) → (∀i ∈ ordsucc r, ∀j ∈ ordsucc i, subfield (Fseq j) (Fseq i)) → (∀i ∈ r, ∃a ∈ Field_carrier (Fseq (ordsucc i)), ∃n ∈ omega, CRing_omega_exp (Fseq (ordsucc i)) a n ∈ Field_carrier (Fseq i) ∧ Field_extension_by_1 (Fseq i) (Fseq (ordsucc i)) a) → p) → p
Primitive. The name Field_automorphism_fixing is a term of type set → set → set → prop.
L4394
Axiom. (Field_automorphism_fixing_I) We take the following as an axiom:
∀K F f, subfield F K → Field_Hom K K f → (∀y ∈ K 0, ∃x ∈ K 0, f x = y) → (∀x ∈ F 0, f x = x) → Field_automorphism_fixing K F f
L4401
Axiom. (Field_automorphism_fixing_E) We take the following as an axiom:
∀K F f, Field_automorphism_fixing K F f → ∀p : prop, (subfield F K → Field_Hom K K f → (∀y ∈ K 0, ∃x ∈ K 0, f x = y) → (∀x ∈ F 0, f x = x) → p) → p
L4408
Definition. We define lam_comp to be λA f g ⇒ λx ∈ A ⇒ f (g x) of type set → set → set → set.
L4410
Definition. We define lam_id to be λA ⇒ λx ∈ A ⇒ x of type set → set.
L4411
Axiom. (lam_comp_exp_In) We take the following as an axiom:
∀A B C, ∀f ∈ BA, ∀g ∈ CB, lam_comp A g f ∈ CA
L4413
Axiom. (lam_id_exp_In) We take the following as an axiom:
∀A, lam_id A ∈ AA
L4414
Axiom. (lam_comp_assoc) We take the following as an axiom:
∀A B, ∀f ∈ BA, ∀g h, lam_comp A h (lam_comp A g f) = lam_comp A (lam_comp B h g) f
L4415
Axiom. (lam_comp_id_L) We take the following as an axiom:
∀A B, ∀f ∈ BA, lam_comp A (lam_id B) f = f
L4416
Axiom. (lam_comp_id_R) We take the following as an axiom:
∀A B, ∀f ∈ BA, lam_comp A f (lam_id A) = f
L4417
Axiom. (Field_Hom_id) We take the following as an axiom:
∀F, Field F → Field_Hom F F (lam_id (F 0))
L4418
Axiom. (Field_Hom_comp) We take the following as an axiom:
∀F F' F'' g h, Field_Hom F F' g → Field_Hom F' F'' h → Field_Hom F F'' (lam_comp (F 0) h g)
L4419
Definition. We define Galois_Group to be λK F ⇒ pack_b {f ∈ K 0K 0|Field_automorphism_fixing K F f} (lam_comp (K 0)) of type set → set → set.
L4422
Axiom. (Galois_Group_0) We take the following as an axiom:
L4424
Axiom. (Galois_Group_Group) We take the following as an axiom:
∀F K, subfield F K → Group (Galois_Group K F)
Beginning of Section explicit_Reals_transfer
L4427
Variable R : set
L4429
Variable zero one : set
L4431
Variable plus mult : set → set → set
Notation. We use + as an infix operator with priority 360 and which associates to the right corresponding to applying term plus.
Notation. We use * as an infix operator with priority 355 and which associates to the right corresponding to applying term mult.
L4435
Variable leq : set → set → prop
Notation. We use ≤ as an infix operator with priority 490 and no associativity corresponding to applying term leq.
L4440
Variable R' : set
L4442
Variable zero' one' : set
L4444
Variable plus' mult' : set → set → set
Notation. We use + as an infix operator with priority 360 and which associates to the right corresponding to applying term plus'.
Notation. We use ⨯ as an infix operator with priority 355 and which associates to the right corresponding to applying term mult'.
L4448
Variable leq' : set → set → prop
L4450
Variable f : set → set
L4452
Axiom. (explicit_Reals_transfer) We take the following as an axiom:
explicit_Reals R zero one plus mult leq → bij R R' f → f zero = zero' → f one = one' → (∀x y ∈ R, f (x + y) = f x + f y) → (∀x y ∈ R, f (x * y) = f x ⨯ f y) → (∀x y ∈ R, x ≤ y ↔ leq' (f x) (f y)) → explicit_Reals R' zero' one' plus' mult' leq'
End of Section explicit_Reals_transfer
Beginning of Section explicit_Complex
L4465
Variable C : set
L4467
Variable Re Im : set → set
L4469
Variable zero one i : set
L4470
Variable plus mult : set → set → set
Notation. We use + as an infix operator with priority 360 and which associates to the right corresponding to applying term plus.
Notation. We use * as an infix operator with priority 355 and which associates to the right corresponding to applying term mult.
L4474
Primitive. The name explicit_Complex is a term of type prop.
L4479
Axiom. (explicit_Complex_I) We take the following as an axiom:
explicit_Field C zero one plus mult → (∃leq : set → set → prop, explicit_Reals R zero one plus mult leq) → (∀z ∈ C, Im z ∈ R) → (i ∈ C) → (∀z ∈ C, Re z ∈ C) → (∀z ∈ C, Im z ∈ C) → (∀z ∈ C, z = Re z + i * Im z) → (∀z w ∈ C, Re z = Re w → Im z = Im w → z = w) → (i * i + one = zero) → explicit_Complex
End of Section explicit_Complex
Beginning of Section RealsToComplex
L4494
Variable R : set
L4496
Variable zero one : set
L4498
Variable plus mult : set → set → set
Notation. We use + as an infix operator with priority 360 and which associates to the right corresponding to applying term plus.
Notation. We use * as an infix operator with priority 355 and which associates to the right corresponding to applying term mult.
Notation. We use - as a prefix operator with priority 358 corresponding to applying term explicit_Field_minus R zero one plus mult.
L4504
Variable leq : set → set → prop
L4506
Variable pa : set → set → set
L4508
Let C : set ≝ ReplSep2 R (λ_ ⇒ R) (λx y ⇒ True) pa
L4510
Let Re : set → set ≝ λz ⇒ Eps_i (λx ⇒ x ∈ R ∧ ∃y ∈ R, z = pa x y)
L4512
Let Im : set → set ≝ λz ⇒ Eps_i (λy ⇒ y ∈ R ∧ z = pa (Re z) y)
L4513
Let Re' : set → set ≝ λz ⇒ pa (Re z) zero
L4514
Let Im' : set → set ≝ λz ⇒ pa (Im z) zero
L4515
Let R' ≝ {z ∈ C|Re' z = z}
L4517
Let zero' : set ≝ pa zero zero
L4519
Let one' : set ≝ pa one zero
L4520
Let i' : set ≝ pa zero one
L4521
Let plus' : set → set → set ≝ λz w ⇒ pa (Re z + Re w) (Im z + Im w)
L4522
Let mult' : set → set → set ≝ λz w ⇒ pa (Re z * Re w + - (Im z * Im w)) (Re z * Im w + Im z * Re w)
L4523
Axiom. (explicit_RealsToComplex) We take the following as an axiom:
explicit_Reals R zero one plus mult leq → (∀x1 y1 x2 y2 ∈ R, pa x1 y1 = pa x2 y2 → x1 = x2 ∧ y1 = y2) → explicit_Complex C Re' Im' zero' one' i' plus' mult'
L4527
Axiom. (explicit_RealsToComplex_exact_Subq) We take the following as an axiom:
explicit_Reals R zero one plus mult leq → (∀x1 y1 x2 y2 ∈ R, pa x1 y1 = pa x2 y2 → x1 = x2 ∧ y1 = y2) → (∀x ∈ R, pa x zero = x) → explicit_Complex C Re' Im' zero' one' i' plus' mult' ∧ R ⊆ C ∧ (∀x ∈ R, Re x = x) ∧ zero' = zero ∧ one' = one ∧ (∀x y ∈ R, plus' x y = x + y) ∧ (∀x y ∈ R, mult' x y = x * y)
End of Section RealsToComplex
Beginning of Section SurrealArithmetic
Primitive. The name minus_SNo is a term of type set → set.
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.
L4550
Axiom. (minus_SNo_eq) We take the following as an axiom:
∀x, SNo x → - x = SNoCut {- z|z ∈ SNoR x} {- w|w ∈ SNoL x}
L4552
Axiom. (minus_SNo_prop1) We take the following as an axiom:
∀x, SNo x → SNo (- x) ∧ (∀u ∈ SNoL x, - x < - u) ∧ (∀u ∈ SNoR x, - u < - x) ∧ SNoCutP {- z|z ∈ SNoR x} {- w|w ∈ SNoL x}
L4553
Axiom. (SNo_minus_SNo) We take the following as an axiom:
∀x, SNo x → SNo (- x)
L4554
Axiom. (minus_SNo_Lt_contra) We take the following as an axiom:
∀x y, SNo x → SNo y → x < y → - y < - x
L4556
Axiom. (minus_SNo_Le_contra) We take the following as an axiom:
∀x y, SNo x → SNo y → x ≤ y → - y ≤ - x
L4557
Axiom. (minus_SNo_SNoCutP) We take the following as an axiom:
∀x, SNo x → SNoCutP {- z|z ∈ SNoR x} {- w|w ∈ SNoL x}
L4558
Axiom. (minus_SNo_SNoCutP_gen) We take the following as an axiom:
∀L R, SNoCutP L R → SNoCutP {- z|z ∈ R} {- w|w ∈ L}
L4559
Axiom. (minus_SNo_Lev_lem1) We take the following as an axiom:
∀alpha, ordinal alpha → ∀x ∈ SNoS_ alpha, SNoLev (- x) ⊆ SNoLev x
L4560
Axiom. (minus_SNo_Lev_lem2) We take the following as an axiom:
∀x, SNo x → SNoLev (- x) ⊆ SNoLev x
L4561
Axiom. (minus_SNo_invol) We take the following as an axiom:
∀x, SNo x → - - x = x
L4562
Axiom. (minus_SNo_Lev) We take the following as an axiom:
∀x, SNo x → SNoLev (- x) = SNoLev x
L4563
Axiom. (minus_SNo_SNo_) We take the following as an axiom:
∀alpha, ordinal alpha → ∀x, SNo_ alpha x → SNo_ alpha (- x)
L4564
Axiom. (minus_SNo_SNoS_) We take the following as an axiom:
∀alpha, ordinal alpha → ∀x, x ∈ SNoS_ alpha → - x ∈ SNoS_ alpha
L4565
Axiom. (minus_SNoCut_eq_lem) We take the following as an axiom:
∀v, SNo v → ∀L R, SNoCutP L R → v = SNoCut L R → - v = SNoCut {- z|z ∈ R} {- w|w ∈ L}
L4566
Axiom. (minus_SNoCut_eq) We take the following as an axiom:
∀L R, SNoCutP L R → - SNoCut L R = SNoCut {- z|z ∈ R} {- w|w ∈ L}
L4567
Axiom. (minus_SNo_Lt_contra1) We take the following as an axiom:
∀x y, SNo x → SNo y → - x < y → - y < x
L4568
Axiom. (minus_SNo_Lt_contra2) We take the following as an axiom:
∀x y, SNo x → SNo y → x < - y → y < - x
L4569
Axiom. (minus_SNo_Lt_contra3) We take the following as an axiom:
∀x y, SNo x → SNo y → - x < - y → y < x
L4570
Axiom. (minus_SNo_0) We take the following as an axiom:
- 0 = 0
L4571
Axiom. (SNo_momega) We take the following as an axiom:
L4572
Axiom. (mordinal_SNo) We take the following as an axiom:
∀alpha, ordinal alpha → SNo (- alpha)
L4573
Axiom. (mordinal_SNoLev) We take the following as an axiom:
∀alpha, ordinal alpha → SNoLev (- alpha) = alpha
L4574
Axiom. (mordinal_SNoLev_min) We take the following as an axiom:
∀alpha, ordinal alpha → ∀z, SNo z → SNoLev z ∈ alpha → - alpha < z
L4575
Axiom. (mordinal_SNoLev_min_2) We take the following as an axiom:
∀alpha, ordinal alpha → ∀z, SNo z → SNoLev z ∈ ordsucc alpha → - alpha ≤ z
L4576
Axiom. (minus_SNo_SNoS_omega) We take the following as an axiom:
Primitive. The name add_SNo is a term of type set → set → set.
Notation. We use + as an infix operator with priority 360 and which associates to the right corresponding to applying term add_SNo.
L4583
Axiom. (add_SNo_eq) We take the following as an axiom:
∀x, SNo x → ∀y, SNo y → x + y = SNoCut ({w + y|w ∈ SNoL x} ∪ {x + w|w ∈ SNoL y}) ({z + y|z ∈ SNoR x} ∪ {x + z|z ∈ SNoR y})
L4586
Axiom. (add_SNo_prop1) We take the following as an axiom:
∀x y, SNo x → SNo y → SNo (x + y) ∧ (∀u ∈ SNoL x, u + y < x + y) ∧ (∀u ∈ SNoR x, x + y < u + y) ∧ (∀u ∈ SNoL y, x + u < x + y) ∧ (∀u ∈ SNoR y, x + y < x + u) ∧ SNoCutP ({w + y|w ∈ SNoL x} ∪ {x + w|w ∈ SNoL y}) ({z + y|z ∈ SNoR x} ∪ {x + z|z ∈ SNoR y})
L4594
Axiom. (SNo_add_SNo) We take the following as an axiom:
∀x y, SNo x → SNo y → SNo (x + y)
L4596
Axiom. (SNo_add_SNo_3) We take the following as an axiom:
∀x y z, SNo x → SNo y → SNo z → SNo (x + y + z)
L4597
Axiom. (SNo_add_SNo_4) We take the following as an axiom:
∀x y z w, SNo x → SNo y → SNo z → SNo w → SNo (x + y + z + w)
L4598
Axiom. (add_SNo_Lt1) We take the following as an axiom:
∀x y z, SNo x → SNo y → SNo z → x < z → x + y < z + y
L4600
Axiom. (add_SNo_Le1) We take the following as an axiom:
∀x y z, SNo x → SNo y → SNo z → x ≤ z → x + y ≤ z + y
L4602
Axiom. (add_SNo_Lt2) We take the following as an axiom:
∀x y z, SNo x → SNo y → SNo z → y < z → x + y < x + z
L4604
Axiom. (add_SNo_Le2) We take the following as an axiom:
∀x y z, SNo x → SNo y → SNo z → y ≤ z → x + y ≤ x + z
L4606
Axiom. (add_SNo_Lt3a) We take the following as an axiom:
∀x y z w, SNo x → SNo y → SNo z → SNo w → x < z → y ≤ w → x + y < z + w
L4608
Axiom. (add_SNo_Lt3b) We take the following as an axiom:
∀x y z w, SNo x → SNo y → SNo z → SNo w → x ≤ z → y < w → x + y < z + w
L4610
Axiom. (add_SNo_Lt3) We take the following as an axiom:
∀x y z w, SNo x → SNo y → SNo z → SNo w → x < z → y < w → x + y < z + w
L4612
Axiom. (add_SNo_Le3) We take the following as an axiom:
∀x y z w, SNo x → SNo y → SNo z → SNo w → x ≤ z → y ≤ w → x + y ≤ z + w
L4614
Axiom. (add_SNo_SNoCutP) We take the following as an axiom:
∀x y, SNo x → SNo y → SNoCutP ({w + y|w ∈ SNoL x} ∪ {x + w|w ∈ SNoL y}) ({z + y|z ∈ SNoR x} ∪ {x + z|z ∈ SNoR y})
L4616
Axiom. (add_SNo_SNoCutP_gen) We take the following as an axiom:
∀Lx Rx Ly Ry, SNoCutP Lx Rx → SNoCutP Ly Ry → SNoCutP ({w + SNoCut Ly Ry|w ∈ Lx} ∪ {SNoCut Lx Rx + w|w ∈ Ly}) ({z + SNoCut Ly Ry|z ∈ Rx} ∪ {SNoCut Lx Rx + z|z ∈ Ry})
L4620
Axiom. (add_SNo_com) We take the following as an axiom:
∀x y, SNo x → SNo y → x + y = y + x
L4622
Axiom. (add_SNo_0L) We take the following as an axiom:
∀x, SNo x → 0 + x = x
L4624
Axiom. (add_SNo_0R) We take the following as an axiom:
∀x, SNo x → x + 0 = x
L4626
Axiom. (add_SNo_minus_SNo_linv) We take the following as an axiom:
∀x, SNo x → - x + x = 0
L4628
Axiom. (SNo_add_SNo_3c) We take the following as an axiom:
∀x y z, SNo x → SNo y → SNo z → SNo (x + y + - z)
L4629
Axiom. (add_SNo_minus_SNo_rinv) We take the following as an axiom:
∀x, SNo x → x + - x = 0
L4631
Axiom. (add_SNo_ordinal_SNoCutP) We take the following as an axiom:
∀alpha, ordinal alpha → ∀beta, ordinal beta → SNoCutP ({x + beta|x ∈ SNoS_ alpha} ∪ {alpha + x|x ∈ SNoS_ beta}) Empty
L4633
Axiom. (add_SNo_ordinal_eq) We take the following as an axiom:
∀alpha, ordinal alpha → ∀beta, ordinal beta → alpha + beta = SNoCut ({x + beta|x ∈ SNoS_ alpha} ∪ {alpha + x|x ∈ SNoS_ beta}) Empty
L4635
Axiom. (add_SNo_ordinal_ordinal) We take the following as an axiom:
∀alpha, ordinal alpha → ∀beta, ordinal beta → ordinal (alpha + beta)
L4637
Axiom. (add_SNo_ordinal_SL) We take the following as an axiom:
∀alpha, ordinal alpha → ∀beta, ordinal beta → ordsucc alpha + beta = ordsucc (alpha + beta)
L4639
Axiom. (add_SNo_ordinal_SR) We take the following as an axiom:
∀alpha, ordinal alpha → ∀beta, ordinal beta → alpha + ordsucc beta = ordsucc (alpha + beta)
L4641
Axiom. (add_SNo_ordinal_InL) We take the following as an axiom:
∀alpha, ordinal alpha → ∀beta, ordinal beta → ∀gamma ∈ alpha, gamma + beta ∈ alpha + beta
L4643
Axiom. (add_SNo_ordinal_InR) We take the following as an axiom:
∀alpha, ordinal alpha → ∀beta, ordinal beta → ∀gamma ∈ beta, alpha + gamma ∈ alpha + beta
L4645
Axiom. (add_nat_add_SNo) We take the following as an axiom:
∀n m ∈ omega, add_nat n m = n + m
L4647
Axiom. (add_SNo_In_omega) We take the following as an axiom:
∀n m ∈ omega, n + m ∈ omega
L4649
Axiom. (add_SNo_SNoL_interpolate) We take the following as an axiom:
∀x y, SNo x → SNo y → ∀u ∈ SNoL (x + y), (∃v ∈ SNoL x, u ≤ v + y) ∨ (∃v ∈ SNoL y, u ≤ x + v)
L4651
Axiom. (add_SNo_SNoR_interpolate) We take the following as an axiom:
∀x y, SNo x → SNo y → ∀u ∈ SNoR (x + y), (∃v ∈ SNoR x, v + y ≤ u) ∨ (∃v ∈ SNoR y, x + v ≤ u)
L4653
Axiom. (add_SNo_assoc) We take the following as an axiom:
∀x y z, SNo x → SNo y → SNo z → x + (y + z) = (x + y) + z
L4655
Axiom. (add_SNo_cancel_L) We take the following as an axiom:
∀x y z, SNo x → SNo y → SNo z → x + y = x + z → y = z
L4657
Axiom. (add_SNo_cancel_R) We take the following as an axiom:
∀x y z, SNo x → SNo y → SNo z → x + y = z + y → x = z
L4659
Axiom. (minus_add_SNo_distr) We take the following as an axiom:
∀x y, SNo x → SNo y → - (x + y) = (- x) + (- y)
L4661
Axiom. (minus_add_SNo_distr_3) We take the following as an axiom:
∀x y z, SNo x → SNo y → SNo z → - (x + y + z) = - x + - y + - z
L4662
Axiom. (add_SNo_Lev_bd) We take the following as an axiom:
∀x y, SNo x → SNo y → SNoLev (x + y) ⊆ SNoLev x + SNoLev y
L4664
Axiom. (add_SNo_SNoS_omega) We take the following as an axiom:
L4665
Axiom. (add_SNo_minus_R2) We take the following as an axiom:
∀x y, SNo x → SNo y → (x + y) + - y = x
L4667
Axiom. (add_SNo_Lt1_cancel) We take the following as an axiom:
∀x y z, SNo x → SNo y → SNo z → x + y < z + y → x < z
L4668
Axiom. (add_SNo_Lt2_cancel) We take the following as an axiom:
∀x y z, SNo x → SNo y → SNo z → x + y < x + z → y < z
L4669
Axiom. (add_SNo_assoc_4) We take the following as an axiom:
∀x y z w, SNo x → SNo y → SNo z → SNo w → x + y + z + w = (x + y + z) + w
L4671
Axiom. (add_SNo_com_3_0_1) We take the following as an axiom:
∀x y z, SNo x → SNo y → SNo z → x + y + z = y + x + z
L4673
Axiom. (add_SNo_com_4_inner_flat) We take the following as an axiom:
∀x y z w, SNo y → SNo z → SNo w → x + y + z + w = x + z + y + w
L4675
Axiom. (add_SNo_com_3b_1_2) We take the following as an axiom:
∀x y z, SNo x → SNo y → SNo z → (x + y) + z = (x + z) + y
L4677
Axiom. (add_SNo_com_4_inner_mid) We take the following as an axiom:
∀x y z w, SNo x → SNo y → SNo z → SNo w → (x + y) + (z + w) = (x + z) + (y + w)
L4679
Axiom. (add_SNo_rotate_3_1) We take the following as an axiom:
∀x y z, SNo x → SNo y → SNo z → x + y + z = z + x + y
L4681
Axiom. (add_SNo_rotate_4_1) We take the following as an axiom:
∀x y z w, SNo x → SNo y → SNo z → SNo w → x + y + z + w = w + x + y + z
L4683
Axiom. (add_SNo_rotate_5_1) We take the following as an axiom:
∀x y z w v, SNo x → SNo y → SNo z → SNo w → SNo v → x + y + z + w + v = v + x + y + z + w
L4685
Axiom. (add_SNo_rotate_5_2) We take the following as an axiom:
∀x y z w v, SNo x → SNo y → SNo z → SNo w → SNo v → x + y + z + w + v = w + v + x + y + z
L4687
Axiom. (add_SNo_minus_SNo_prop1) We take the following as an axiom:
∀x y, SNo x → SNo y → - x + x + y = y
L4688
Axiom. (add_SNo_minus_SNo_prop2) We take the following as an axiom:
∀x y, SNo x → SNo y → x + - x + y = y
L4689
Axiom. (add_SNo_minus_SNo_prop3) We take the following as an axiom:
∀x y z w, SNo x → SNo y → SNo z → SNo w → (x + y + z) + (- z + w) = x + y + w
L4690
Axiom. (add_SNo_minus_SNo_prop4) We take the following as an axiom:
∀x y z w, SNo x → SNo y → SNo z → SNo w → (x + y + z) + (w + - z) = x + y + w
L4691
Axiom. (add_SNo_minus_SNo_prop5) We take the following as an axiom:
∀x y z w, SNo x → SNo y → SNo z → SNo w → (x + y + - z) + (z + w) = x + y + w
L4692
Axiom. (add_SNo_minus_Lt1) We take the following as an axiom:
∀x y z, SNo x → SNo y → SNo z → x + - y < z → x < z + y
L4693
Axiom. (add_SNo_minus_Lt1b) We take the following as an axiom:
∀x y z, SNo x → SNo y → SNo z → x < z + y → x + - y < z
L4694
Axiom. (add_SNo_minus_Lt2) We take the following as an axiom:
∀x y z, SNo x → SNo y → SNo z → z < x + - y → z + y < x
L4695
Axiom. (add_SNo_minus_Lt2b) We take the following as an axiom:
∀x y z, SNo x → SNo y → SNo z → z + y < x → z < x + - y
L4696
Axiom. (add_SNo_minus_Lt1b3) We take the following as an axiom:
∀x y z w, SNo x → SNo y → SNo z → SNo w → x + y < w + z → x + y + - z < w
L4697
Axiom. (add_SNo_minus_Lt2b3) We take the following as an axiom:
∀x y z w, SNo x → SNo y → SNo z → SNo w → w + z < x + y → w < x + y + - z
L4698
Axiom. (add_SNo_Lt_subprop2) We take the following as an axiom:
∀x y z w u v, SNo x → SNo y → SNo z → SNo w → SNo u → SNo v → x + u < z + v → y + v < w + u → x + y < z + w
L4702
Axiom. (add_SNo_Lt_subprop3a) We take the following as an axiom:
∀x y z w u a, SNo x → SNo y → SNo z → SNo w → SNo u → SNo a → x + z < w + a → y + a < u → x + y + z < w + u
L4706
Axiom. (add_SNo_Lt_subprop3b) We take the following as an axiom:
∀x y w u v a, SNo x → SNo y → SNo w → SNo u → SNo v → SNo a → x + a < w + v → y < a + u → x + y < w + u + v
L4710
Axiom. (add_SNo_Lt_subprop3c) We take the following as an axiom:
∀x y z w u a b c, SNo x → SNo y → SNo z → SNo w → SNo u → SNo a → SNo b → SNo c → x + a < b + c → y + c < u → b + z < w + a → x + y + z < w + u
L4715
Axiom. (add_SNo_Lt_subprop3d) We take the following as an axiom:
∀x y w u v a b c, SNo x → SNo y → SNo w → SNo u → SNo v → SNo a → SNo b → SNo c → x + a < b + v → y < c + u → b + c < w + a → x + y < w + u + v
L4720
Axiom. (ordinal_ordsucc_SNo_eq) We take the following as an axiom:
∀alpha, ordinal alpha → ordsucc alpha = 1 + alpha
L4722
Axiom. (add_SNo_omega_eps_Lt) We take the following as an axiom:
∀x y ∈ SNoS_ omega, x < y → ∃n ∈ omega, x + eps_ n < y
Primitive. The name mul_SNo is a term of type set → set → set.
Notation. We use * as an infix operator with priority 355 and which associates to the right corresponding to applying term mul_SNo.
L4729
Axiom. (mul_SNo_eq) We take the following as an axiom:
∀x, SNo x → ∀y, SNo y → x * y = SNoCut ({(w 0) * y + x * (w 1) + - (w 0) * (w 1)|w ∈ SNoL x ⨯ SNoL y} ∪ {(z 0) * y + x * (z 1) + - (z 0) * (z 1)|z ∈ SNoR x ⨯ SNoR y}) ({(w 0) * y + x * (w 1) + - (w 0) * (w 1)|w ∈ SNoL x ⨯ SNoR y} ∪ {(z 0) * y + x * (z 1) + - (z 0) * (z 1)|z ∈ SNoR x ⨯ SNoL y})
L4738
Axiom. (mul_SNo_eq_2) We take the following as an axiom:
∀x y, SNo x → SNo y → ∀p : prop, (∀L R, (∀u, u ∈ L → (∀q : prop, (∀w0 ∈ SNoL x, ∀w1 ∈ SNoL y, u = w0 * y + x * w1 + - w0 * w1 → q) → (∀z0 ∈ SNoR x, ∀z1 ∈ SNoR y, u = z0 * y + x * z1 + - z0 * z1 → q) → q)) → (∀w0 ∈ SNoL x, ∀w1 ∈ SNoL y, w0 * y + x * w1 + - w0 * w1 ∈ L) → (∀z0 ∈ SNoR x, ∀z1 ∈ SNoR y, z0 * y + x * z1 + - z0 * z1 ∈ L) → (∀u, u ∈ R → (∀q : prop, (∀w0 ∈ SNoL x, ∀z1 ∈ SNoR y, u = w0 * y + x * z1 + - w0 * z1 → q) → (∀z0 ∈ SNoR x, ∀w1 ∈ SNoL y, u = z0 * y + x * w1 + - z0 * w1 → q) → q)) → (∀w0 ∈ SNoL x, ∀z1 ∈ SNoR y, w0 * y + x * z1 + - w0 * z1 ∈ R) → (∀z0 ∈ SNoR x, ∀w1 ∈ SNoL y, z0 * y + x * w1 + - z0 * w1 ∈ R) → x * y = SNoCut L R → p) → p
L4759
Axiom. (mul_SNo_prop_1) We take the following as an axiom:
∀x, SNo x → ∀y, SNo y → ∀p : prop, (SNo (x * y) → (∀u ∈ SNoL x, ∀v ∈ SNoL y, u * y + x * v < x * y + u * v) → (∀u ∈ SNoR x, ∀v ∈ SNoR y, u * y + x * v < x * y + u * v) → (∀u ∈ SNoL x, ∀v ∈ SNoR y, x * y + u * v < u * y + x * v) → (∀u ∈ SNoR x, ∀v ∈ SNoL y, x * y + u * v < u * y + x * v) → p) → p
L4769
Axiom. (SNo_mul_SNo) We take the following as an axiom:
∀x y, SNo x → SNo y → SNo (x * y)
L4771
Axiom. (mul_SNo_eq_3) We take the following as an axiom:
∀x y, SNo x → SNo y → ∀p : prop, (∀L R, SNoCutP L R → (∀u, u ∈ L → (∀q : prop, (∀w0 ∈ SNoL x, ∀w1 ∈ SNoL y, u = w0 * y + x * w1 + - w0 * w1 → q) → (∀z0 ∈ SNoR x, ∀z1 ∈ SNoR y, u = z0 * y + x * z1 + - z0 * z1 → q) → q)) → (∀w0 ∈ SNoL x, ∀w1 ∈ SNoL y, w0 * y + x * w1 + - w0 * w1 ∈ L) → (∀z0 ∈ SNoR x, ∀z1 ∈ SNoR y, z0 * y + x * z1 + - z0 * z1 ∈ L) → (∀u, u ∈ R → (∀q : prop, (∀w0 ∈ SNoL x, ∀z1 ∈ SNoR y, u = w0 * y + x * z1 + - w0 * z1 → q) → (∀z0 ∈ SNoR x, ∀w1 ∈ SNoL y, u = z0 * y + x * w1 + - z0 * w1 → q) → q)) → (∀w0 ∈ SNoL x, ∀z1 ∈ SNoR y, w0 * y + x * z1 + - w0 * z1 ∈ R) → (∀z0 ∈ SNoR x, ∀w1 ∈ SNoL y, z0 * y + x * w1 + - z0 * w1 ∈ R) → x * y = SNoCut L R → p) → p
L4792
Axiom. (mul_SNo_Lt) We take the following as an axiom:
∀x y u v, SNo x → SNo y → SNo u → SNo v → u < x → v < y → u * y + x * v < x * y + u * v
L4795
Axiom. (mul_SNo_Le) We take the following as an axiom:
∀x y u v, SNo x → SNo y → SNo u → SNo v → u ≤ x → v ≤ y → u * y + x * v ≤ x * y + u * v
L4797
Axiom. (mul_SNo_SNoL_interpolate) We take the following as an axiom:
∀x y, SNo x → SNo y → ∀u ∈ SNoL (x * y), (∃v ∈ SNoL x, ∃w ∈ SNoL y, u + v * w ≤ v * y + x * w) ∨ (∃v ∈ SNoR x, ∃w ∈ SNoR y, u + v * w ≤ v * y + x * w)
L4802
Axiom. (mul_SNo_SNoL_interpolate_impred) We take the following as an axiom:
∀x y, SNo x → SNo y → ∀u ∈ SNoL (x * y), ∀p : prop, (∀v ∈ SNoL x, ∀w ∈ SNoL y, u + v * w ≤ v * y + x * w → p) → (∀v ∈ SNoR x, ∀w ∈ SNoR y, u + v * w ≤ v * y + x * w → p) → p
L4808
Axiom. (mul_SNo_SNoR_interpolate) We take the following as an axiom:
∀x y, SNo x → SNo y → ∀u ∈ SNoR (x * y), (∃v ∈ SNoL x, ∃w ∈ SNoR y, v * y + x * w ≤ u + v * w) ∨ (∃v ∈ SNoR x, ∃w ∈ SNoL y, v * y + x * w ≤ u + v * w)
L4813
Axiom. (mul_SNo_SNoR_interpolate_impred) We take the following as an axiom:
∀x y, SNo x → SNo y → ∀u ∈ SNoR (x * y), ∀p : prop, (∀v ∈ SNoL x, ∀w ∈ SNoR y, v * y + x * w ≤ u + v * w → p) → (∀v ∈ SNoR x, ∀w ∈ SNoL y, v * y + x * w ≤ u + v * w → p) → p
L4819
Axiom. (mul_SNo_zeroR) We take the following as an axiom:
∀x, SNo x → x * 0 = 0
L4821
Axiom. (mul_SNo_oneR) We take the following as an axiom:
∀x, SNo x → x * 1 = x
L4822
Axiom. (mul_SNo_com) We take the following as an axiom:
∀x y, SNo x → SNo y → x * y = y * x
L4823
Axiom. (mul_SNo_minus_distr) We take the following as an axiom:
∀x y, SNo x → SNo y → (- x) * y = - x * y
L4824
Axiom. (mul_SNo_distrR) We take the following as an axiom:
∀x y z, SNo x → SNo y → SNo z → (x + y) * z = x * z + y * z
L4825
Axiom. (mul_SNo_distrL) We take the following as an axiom:
∀x y z, SNo x → SNo y → SNo z → x * (y + z) = x * y + x * z
L4826
Axiom. (mul_SNo_assoc) We take the following as an axiom:
∀x y z, SNo x → SNo y → SNo z → x * (y * z) = (x * y) * z
L4827
Axiom. (mul_nat_mul_SNo) We take the following as an axiom:
∀n m ∈ omega, mul_nat n m = n * m
L4829
Axiom. (mul_SNo_In_omega) We take the following as an axiom:
∀n m ∈ omega, n * m ∈ omega
L4831
Definition. We define diadic_open to be λX ⇒ X ⊆ SNoS_ omega ∧ ∀x ∈ X, ∃n ∈ omega, ∀y ∈ SNoS_ omega, x + - eps_ n < y → y < x + eps_ n → y ∈ X of type set → prop.
L4838
Axiom. (diadic_open_I) We take the following as an axiom:
∀X ⊆ SNoS_ omega, (∀x ∈ X, ∃n ∈ omega, ∀y ∈ SNoS_ omega, x + - eps_ n < y → y < x + eps_ n → y ∈ X) → diadic_open X
L4843
Definition. We define SNoL_omega to be λx ⇒ {y ∈ SNoS_ omega|y < x} of type set → set.
L4845
Definition. We define SNoR_omega to be λx ⇒ {y ∈ SNoS_ omega|x < y} of type set → set.
L4846
Axiom. (diadic_open_SNoL_omega_I) We take the following as an axiom:
∀z, SNo z → (∀x ∈ SNoL_omega z, ∃n ∈ omega, x + eps_ n < z) → diadic_open (SNoL_omega z)
L4850
Axiom. (diadic_open_SNoR_omega_I) We take the following as an axiom:
∀z, SNo z → (∀x ∈ SNoR_omega z, ∃n ∈ omega, z < x + - eps_ n) → diadic_open (SNoR_omega z)
L4853
L4855
Axiom. (real_I) We take the following as an axiom:
L4862
Axiom. (real_E) We take the following as an axiom:
∀x ∈ real, ∀p : prop, (x ∈ SNoS_ (ordsucc omega) → SNoL_omega x ≠ 0 → SNoR_omega x ≠ 0 → diadic_open (SNoL_omega x) → diadic_open (SNoR_omega x) → p) → p
L4870
Axiom. (Subq_real_SNoS_ordsucc_omega) We take the following as an axiom:
L4871
Axiom. (Subq_SNoS_omega_real) We take the following as an axiom:
L4872
Axiom. (SNoCutP_SNoL_SNoR_omega) We take the following as an axiom:
∀x, SNo x → SNoCutP (SNoL_omega x) (SNoR_omega x)
L4873
L4874
Axiom. (real_SNoL_SNoR_omega) We take the following as an axiom:
L4875
Axiom. (real_ex_diad_Lt) We take the following as an axiom:
∀x ∈ real, ∃w ∈ SNoS_ omega, w < x
L4876
Axiom. (real_ex_diad_Gt) We take the following as an axiom:
∀x ∈ real, ∃z ∈ SNoS_ omega, x < z
L4877
Axiom. (mul_SNo_pos_pos) We take the following as an axiom:
∀x y, SNo x → SNo y → 0 < x → 0 < y → 0 < x * y
L4878
Axiom. (mul_SNo_pos_neg) We take the following as an axiom:
∀x y, SNo x → SNo y → 0 < x → y < 0 → x * y < 0
L4879
Axiom. (mul_SNo_neg_pos) We take the following as an axiom:
∀x y, SNo x → SNo y → x < 0 → 0 < y → x * y < 0
L4880
Axiom. (mul_SNo_neg_neg) We take the following as an axiom:
∀x y, SNo x → SNo y → x < 0 → y < 0 → 0 < x * y
L4881
Axiom. (mul_SNo_nonzero) We take the following as an axiom:
∀x y, SNo x → SNo y → x ≠ 0 → y ≠ 0 → x * y ≠ 0
L4882
Axiom. (minus_SNo_restr_SNo) We take the following as an axiom:
∀x, SNo x → ∀alpha ∈ SNoLev x, (- x) ∩ SNoElts_ alpha = - (x ∩ SNoElts_ alpha)
L4884
Axiom. (minus_SNo_exactly1of2) We take the following as an axiom:
∀x, SNo x → ∀alpha ∈ SNoLev x, exactly1of2 (alpha ∈ x) (alpha ∈ - x)
L4885
Axiom. (minus_SNo_In) We take the following as an axiom:
∀x, SNo x → ∀alpha ∈ SNoLev x, alpha ∈ x → alpha ∉ - x
L4886
Axiom. (minus_SNo_nIn) We take the following as an axiom:
∀x, SNo x → ∀alpha ∈ SNoLev x, alpha ∉ x → alpha ∈ - x
L4887
Axiom. (real_minus_SNo) We take the following as an axiom:
L4888
Definition. We define div_SNo to be λx y ⇒ if y = 0 then 0 else Eps_i (λz ⇒ SNo z ∧ z * y = x) of type set → set → set.
Notation. We use :/: as an infix operator with priority 353 and no associativity corresponding to applying term div_SNo.
L4892
Definition. We define exp_SNo_nat to be λn m : set ⇒ nat_primrec 1 (λ_ r ⇒ n * r) m of type set → set → set.
Notation. We use ^ as an infix operator with priority 342 and which associates to the right corresponding to applying term exp_SNo_nat.
End of Section SurrealArithmetic
L4898
Definition. We define CSNo to be λz ⇒ ∃x, SNo x ∧ ∃y, SNo y ∧ z = SNo_pair x y of type set → prop.
L4900
Axiom. (CSNo_I) We take the following as an axiom:
∀x y, SNo x → SNo y → CSNo (SNo_pair x y)
L4902
Axiom. (CSNo_E) We take the following as an axiom:
∀z, CSNo z → ∀p : set → prop, (∀x y, SNo x → SNo y → z = SNo_pair x y → p (SNo_pair x y)) → p z
L4906
Axiom. (SNo_CSNo) We take the following as an axiom:
∀x, SNo x → CSNo x
Beginning of Section Complex
L4909
L4911
Let i ≝ Complex_i
L4913
Axiom. (SNo_Complex_i) We take the following as an axiom:
L4915
Definition. We define CSNo_Re to be λz ⇒ Eps_i (λx ⇒ SNo x ∧ ∃y, SNo y ∧ z = SNo_pair x y) of type set → set.
L4917
Definition. We define CSNo_Im to be λz ⇒ Eps_i (λy ⇒ SNo y ∧ z = SNo_pair (CSNo_Re z) y) of type set → set.
L4918
Let Re : set → set ≝ CSNo_Re
L4920
Let Im : set → set ≝ CSNo_Im
L4921
Let pa : set → set → set ≝ SNo_pair
L4922
Axiom. (CSNo_Re1) We take the following as an axiom:
∀z, CSNo z → SNo (Re z) ∧ ∃y, SNo y ∧ z = pa (Re z) y
L4924
Axiom. (CSNo_Re2) We take the following as an axiom:
∀x y, SNo x → SNo y → Re (pa x y) = x
L4925
Axiom. (CSNo_Im1) We take the following as an axiom:
∀z, CSNo z → SNo (Im z) ∧ z = pa (Re z) (Im z)
L4926
Axiom. (CSNo_Im2) We take the following as an axiom:
∀x y, SNo x → SNo y → Im (pa x y) = y
L4927
Axiom. (CSNo_ReR) We take the following as an axiom:
∀z, CSNo z → SNo (Re z)
L4928
Axiom. (CSNo_ImR) We take the following as an axiom:
∀z, CSNo z → SNo (Im z)
L4929
Axiom. (CSNo_ReIm) We take the following as an axiom:
∀z, CSNo z → z = pa (Re z) (Im z)
L4930
Axiom. (CSNo_ReIm_split) We take the following as an axiom:
∀z w, CSNo z → CSNo w → Re z = Re w → Im z = Im w → z = w
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.
L4935
Definition. We define minus_CSNo to be λz ⇒ pa (- Re z) (- Im z) of type set → set.
L4937
Definition. We define add_CSNo to be λz w ⇒ pa (Re z + Re w) (Im z + Im w) of type set → set → set.
L4938
Definition. We define mul_CSNo to be λz w ⇒ pa (Re z * Re w + - (Im z * Im w)) (Re z * Im w + Im z * Re w) of type set → set → set.
L4939
Definition. We define div_CSNo to be λx y ⇒ if y = 0 then 0 else Eps_i (λz ⇒ CSNo z ∧ mul_CSNo z y = x) of type set → set → set.
L4940
Axiom. (CSNo_minus_CSNo) We take the following as an axiom:
∀z, CSNo z → CSNo (minus_CSNo z)
L4942
Axiom. (SNo_Re) We take the following as an axiom:
∀x, SNo x → Re x = x
L4944
Axiom. (SNo_Im) We take the following as an axiom:
∀x, SNo x → Im x = 0
L4946
Axiom. (Re_0) We take the following as an axiom:
Re 0 = 0
L4948
Axiom. (Im_0) We take the following as an axiom:
Im 0 = 0
L4950
Axiom. (Re_1) We take the following as an axiom:
Re 1 = 1
L4952
Axiom. (Im_1) We take the following as an axiom:
Im 1 = 0
L4954
Axiom. (Re_i) We take the following as an axiom:
Re i = 0
L4956
Axiom. (Im_i) We take the following as an axiom:
Im i = 1
L4958
Axiom. (add_SNo_add_CSNo) We take the following as an axiom:
∀x y, SNo x → SNo y → x + y = add_CSNo x y
L4960
Axiom. (CSNo_add_CSNo) We take the following as an axiom:
∀z w, CSNo z → CSNo w → CSNo (add_CSNo z w)
L4962
Axiom. (add_CSNo_0L) We take the following as an axiom:
∀z, CSNo z → add_CSNo 0 z = z
L4964
Axiom. (add_CSNo_0R) We take the following as an axiom:
∀z, CSNo z → add_CSNo z 0 = z
L4966
Axiom. (add_CSNo_minus_CSNo_linv) We take the following as an axiom:
∀z, CSNo z → add_CSNo (minus_CSNo z) z = 0
L4968
Axiom. (add_CSNo_minus_CSNo_rinv) We take the following as an axiom:
∀z, CSNo z → add_CSNo z (minus_CSNo z) = 0
L4970
Axiom. (minus_SNo_minus_CSNo) We take the following as an axiom:
∀x, SNo x → - x = minus_CSNo x
End of Section Complex
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 353 and no associativity corresponding to applying term div_CSNo.
L4981
L4983
Definition. We define rational to be ReplSep2 int (λ_ ⇒ omega) (λnum den ⇒ den ≠ 0) (λnum den ⇒ num :/: den) of type set.
L4985
Definition. We define Sum to be λm n f ⇒ nat_primrec 0 (λk r ⇒ if k ∈ m then 0 else f k + r) (ordsucc n) of type set → set → (set → set) → set.
L4989
Definition. We define Prod to be λm n f ⇒ nat_primrec 1 (λk r ⇒ if k ∈ m then 1 else f k * r) (ordsucc n) of type set → set → (set → set) → set.
End of Section Complex
Beginning of Section Int
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 a prefix operator with priority 358 corresponding to applying term minus_SNo.
Notation. We use :/: as an infix operator with priority 353 and no associativity corresponding to applying term div_SNo.
L5002
Axiom. (int_SNo_cases) We take the following as an axiom:
∀p : set → prop, (∀n ∈ omega, p n) → (∀n ∈ omega, p (- n)) → ∀x ∈ int, p x
L5007
Axiom. (Subq_omega_int) We take the following as an axiom:
L5008
Axiom. (int_minus_SNo_omega) We take the following as an axiom:
L5009
Axiom. (int_minus_SNo) We take the following as an axiom:
∀x ∈ int, - x ∈ int
L5010
Axiom. (int_add_SNo_lem) We take the following as an axiom:
∀n ∈ omega, ∀m, nat_p m → - n + m ∈ int
L5011
Axiom. (int_add_SNo) We take the following as an axiom:
∀x y ∈ int, x + y ∈ int
L5012
Axiom. (int_mul_SNo) We take the following as an axiom:
∀x y ∈ int, x * y ∈ int
L5013
Definition. We define divides_int to be λm n ⇒ m ∈ int ∧ n ∈ int ∧ ∃k ∈ int, m * k = n of type set → set → prop.
L5016
Definition. We define equiv_int_mod to be λm k n ⇒ m ∈ int ∧ k ∈ int ∧ n ∈ omega ∖ 1 ∧ divides_int (m + - k) n of type set → set → set → prop.
L5019
Definition. We define coprime_int to be λa b ⇒ a ∈ int ∧ b ∈ int ∧ ∀x ∈ omega ∖ 1, divides_int x a → divides_int x b → x = 1 of type set → set → prop.
End of Section Int
Primitive. The name pack_b_b_r_e_e is a term of type set → (set → set → set) → (set → set → set) → (set → set → prop) → set → set → set.
L5026
Axiom. (pack_b_b_r_e_e_0_eq) We take the following as an axiom:
∀S X, ∀f : set → set → set, ∀g : set → set → set, ∀R : set → set → prop, ∀c : set, ∀d : set, S = pack_b_b_r_e_e X f g R c d → X = S 0
L5028
Axiom. (pack_b_b_r_e_e_0_eq2) We take the following as an axiom:
∀X, ∀f : set → set → set, ∀g : set → set → set, ∀R : set → set → prop, ∀c : set, ∀d : set, X = pack_b_b_r_e_e X f g R c d 0
L5030
Axiom. (pack_b_b_r_e_e_1_eq) We take the following as an axiom:
∀S X, ∀f : set → set → set, ∀g : set → set → set, ∀R : set → set → prop, ∀c : set, ∀d : set, S = pack_b_b_r_e_e X f g R c d → ∀x y ∈ X, f x y = decode_b (S 1) x y
L5032
Axiom. (pack_b_b_r_e_e_1_eq2) We take the following as an axiom:
∀X, ∀f : set → set → set, ∀g : set → set → set, ∀R : set → set → prop, ∀c : set, ∀d : set, ∀x y ∈ X, f x y = decode_b (pack_b_b_r_e_e X f g R c d 1) x y
L5034
Axiom. (pack_b_b_r_e_e_2_eq) We take the following as an axiom:
∀S X, ∀f : set → set → set, ∀g : set → set → set, ∀R : set → set → prop, ∀c : set, ∀d : set, S = pack_b_b_r_e_e X f g R c d → ∀x y ∈ X, g x y = decode_b (S 2) x y
L5036
Axiom. (pack_b_b_r_e_e_2_eq2) We take the following as an axiom:
∀X, ∀f : set → set → set, ∀g : set → set → set, ∀R : set → set → prop, ∀c : set, ∀d : set, ∀x y ∈ X, g x y = decode_b (pack_b_b_r_e_e X f g R c d 2) x y
L5038
Axiom. (pack_b_b_r_e_e_3_eq) We take the following as an axiom:
∀S X, ∀f : set → set → set, ∀g : set → set → set, ∀R : set → set → prop, ∀c : set, ∀d : set, S = pack_b_b_r_e_e X f g R c d → ∀x y ∈ X, R x y = decode_r (S 3) x y
L5040
Axiom. (pack_b_b_r_e_e_3_eq2) We take the following as an axiom:
∀X, ∀f : set → set → set, ∀g : set → set → set, ∀R : set → set → prop, ∀c : set, ∀d : set, ∀x y ∈ X, R x y = decode_r (pack_b_b_r_e_e X f g R c d 3) x y
L5042
Axiom. (pack_b_b_r_e_e_4_eq) We take the following as an axiom:
∀S X, ∀f : set → set → set, ∀g : set → set → set, ∀R : set → set → prop, ∀c : set, ∀d : set, S = pack_b_b_r_e_e X f g R c d → c = S 4
L5044
Axiom. (pack_b_b_r_e_e_4_eq2) We take the following as an axiom:
∀X, ∀f : set → set → set, ∀g : set → set → set, ∀R : set → set → prop, ∀c : set, ∀d : set, c = pack_b_b_r_e_e X f g R c d 4
L5046
Axiom. (pack_b_b_r_e_e_5_eq) We take the following as an axiom:
∀S X, ∀f : set → set → set, ∀g : set → set → set, ∀R : set → set → prop, ∀c : set, ∀d : set, S = pack_b_b_r_e_e X f g R c d → d = S 5
L5048
Axiom. (pack_b_b_r_e_e_5_eq2) We take the following as an axiom:
∀X, ∀f : set → set → set, ∀g : set → set → set, ∀R : set → set → prop, ∀c : set, ∀d : set, d = pack_b_b_r_e_e X f g R c d 5
L5050
Axiom. (pack_b_b_r_e_e_inj) We take the following as an axiom:
∀X X', ∀f f' : set → set → set, ∀g g' : set → set → set, ∀R R' : set → set → prop, ∀c c' : set, ∀d d' : set, pack_b_b_r_e_e X f g R c d = pack_b_b_r_e_e X' f' g' R' c' d' → X = X' ∧ (∀x y ∈ X, f x y = f' x y) ∧ (∀x y ∈ X, g x y = g' x y) ∧ (∀x y ∈ X, R x y = R' x y) ∧ c = c' ∧ d = d'
L5052
Axiom. (pack_b_b_r_e_e_ext) We take the following as an axiom:
∀X, ∀f f' : set → set → set, ∀g g' : set → set → set, ∀R R' : set → set → prop, ∀c, ∀d, (∀x y ∈ X, f x y = f' x y) → (∀x y ∈ X, g x y = g' x y) → (∀x y ∈ X, R x y ↔ R' x y) → pack_b_b_r_e_e X f g R c d = pack_b_b_r_e_e X f' g' R' c d
L5058
Definition. We define struct_b_b_r_e_e to be λS ⇒ ∀q : set → prop, (∀X : set, ∀f : set → set → set, (∀x y ∈ X, f x y ∈ X) → ∀g : set → set → set, (∀x y ∈ X, g x y ∈ X) → ∀R : set → set → prop, ∀c : set, c ∈ X → ∀d : set, d ∈ X → q (pack_b_b_r_e_e X f g R c d)) → q S of type set → prop.
L5060
Axiom. (pack_struct_b_b_r_e_e_I) We take the following as an axiom:
∀X, ∀f : set → set → set, (∀x y ∈ X, f x y ∈ X) → ∀g : set → set → set, (∀x y ∈ X, g x y ∈ X) → ∀R : set → set → prop, ∀c : set, c ∈ X → ∀d : set, d ∈ X → struct_b_b_r_e_e (pack_b_b_r_e_e X f g R c d)
L5062
Axiom. (pack_struct_b_b_r_e_e_E1) We take the following as an axiom:
∀X, ∀f : set → set → set, ∀g : set → set → set, ∀R : set → set → prop, ∀c : set, ∀d : set, struct_b_b_r_e_e (pack_b_b_r_e_e X f g R c d) → ∀x y ∈ X, f x y ∈ X
L5064
Axiom. (pack_struct_b_b_r_e_e_E2) We take the following as an axiom:
∀X, ∀f : set → set → set, ∀g : set → set → set, ∀R : set → set → prop, ∀c : set, ∀d : set, struct_b_b_r_e_e (pack_b_b_r_e_e X f g R c d) → ∀x y ∈ X, g x y ∈ X
L5066
Axiom. (pack_struct_b_b_r_e_e_E4) We take the following as an axiom:
∀X, ∀f : set → set → set, ∀g : set → set → set, ∀R : set → set → prop, ∀c : set, ∀d : set, struct_b_b_r_e_e (pack_b_b_r_e_e X f g R c d) → c ∈ X
L5068
Axiom. (pack_struct_b_b_r_e_e_E5) We take the following as an axiom:
∀X, ∀f : set → set → set, ∀g : set → set → set, ∀R : set → set → prop, ∀c : set, ∀d : set, struct_b_b_r_e_e (pack_b_b_r_e_e X f g R c d) → d ∈ X
L5070
Axiom. (struct_b_b_r_e_e_eta) We take the following as an axiom:
∀S, struct_b_b_r_e_e S → S = pack_b_b_r_e_e (S 0) (decode_b (S 1)) (decode_b (S 2)) (decode_r (S 3)) (S 4) (S 5)
Primitive. The name unpack_b_b_r_e_e_i is a term of type set → (set → (set → set → set) → (set → set → set) → (set → set → prop) → set → set → set) → set.
L5075
Axiom. (unpack_b_b_r_e_e_i_eq) We take the following as an axiom:
∀Phi : set → (set → set → set) → (set → set → set) → (set → set → prop) → set → set → set, ∀X, ∀f : set → set → set, ∀g : set → set → set, ∀R : set → set → prop, ∀c : set, ∀d : set, (∀f' : set → set → set, (∀x y ∈ X, f x y = f' x y) → ∀g' : set → set → set, (∀x y ∈ X, g x y = g' x y) → ∀R' : set → set → prop, (∀x y ∈ X, R x y ↔ R' x y) → Phi X f' g' R' c d = Phi X f g R c d) → unpack_b_b_r_e_e_i (pack_b_b_r_e_e X f g R c d) Phi = Phi X f g R c d
Primitive. The name unpack_b_b_r_e_e_o is a term of type set → (set → (set → set → set) → (set → set → set) → (set → set → prop) → set → set → prop) → prop.
L5084
Axiom. (unpack_b_b_r_e_e_o_eq) We take the following as an axiom:
∀Phi : set → (set → set → set) → (set → set → set) → (set → set → prop) → set → set → prop, ∀X, ∀f : set → set → set, ∀g : set → set → set, ∀R : set → set → prop, ∀c : set, ∀d : set, (∀f' : set → set → set, (∀x y ∈ X, f x y = f' x y) → ∀g' : set → set → set, (∀x y ∈ X, g x y = g' x y) → ∀R' : set → set → prop, (∀x y ∈ X, R x y ↔ R' x y) → Phi X f' g' R' c d = Phi X f g R c d) → unpack_b_b_r_e_e_o (pack_b_b_r_e_e X f g R c d) Phi = Phi X f g R c d
Primitive. The name OrderedFieldStruct is a term of type set → prop.
Beginning of Section explicit_OrderedField_RepIndep2
L5095
Variable R : set
L5097
Variable zero one : set
L5099
Variable plus mult : set → set → set
L5100
Variable leq : set → set → prop
Notation. We use + as an infix operator with priority 360 and which associates to the right corresponding to applying term plus.
Notation. We use * as an infix operator with priority 355 and which associates to the right corresponding to applying term mult.
L5104
Variable plus' mult' : set → set → set
L5106
Variable leq' : set → set → prop
Notation. We use + as an infix operator with priority 355 and which associates to the right corresponding to applying term plus'.
Notation. We use ⨯ as an infix operator with priority 355 and which associates to the right corresponding to applying term mult'.
L5109
L5111
Hypothesis Hmm' : ∀a b ∈ R, a * b = a ⨯ b
L5112
Hypothesis Hll' : ∀a b ∈ R, leq a b ↔ leq' a b
L5113
Axiom. (explicit_OrderedField_repindep) We take the following as an axiom:
explicit_OrderedField R zero one plus mult leq ↔ explicit_OrderedField R zero one plus' mult' leq'
End of Section explicit_OrderedField_RepIndep2
L5117
Axiom. (OrderedFieldStruct_unpack_eq) We take the following as an axiom:
∀R, ∀plus mult : set → set → set, ∀leq : set → set → prop, ∀zero one, unpack_b_b_r_e_e_o (pack_b_b_r_e_e R plus mult leq zero one) (λR plus mult leq zero one ⇒ explicit_OrderedField R zero one plus mult leq) = explicit_OrderedField R zero one plus mult leq
L5119
Definition. We define RealsStruct to be λR ⇒ struct_b_b_r_e_e R ∧ unpack_b_b_r_e_e_o R (λR plus mult leq zero one ⇒ explicit_Reals R zero one plus mult leq) of type set → prop.
Beginning of Section explicit_Reals_RepIndep2
L5125
Variable R : set
L5127
Variable zero one : set
L5129
Variable plus mult : set → set → set
L5130
Variable leq : set → set → prop
Notation. We use + as an infix operator with priority 360 and which associates to the right corresponding to applying term plus.
Notation. We use * as an infix operator with priority 355 and which associates to the right corresponding to applying term mult.
L5134
Variable plus' mult' : set → set → set
L5136
Variable leq' : set → set → prop
Notation. We use + as an infix operator with priority 355 and which associates to the right corresponding to applying term plus'.
Notation. We use ⨯ as an infix operator with priority 355 and which associates to the right corresponding to applying term mult'.
L5139
L5141
Hypothesis Hmm' : ∀a b ∈ R, a * b = a ⨯ b
L5142
Hypothesis Hll' : ∀a b ∈ R, leq a b ↔ leq' a b
L5143
Axiom. (explicit_Reals_repindep) We take the following as an axiom:
explicit_Reals R zero one plus mult leq ↔ explicit_Reals R zero one plus' mult' leq'
End of Section explicit_Reals_RepIndep2
L5147
Axiom. (RealsStruct_unpack_eq) We take the following as an axiom:
∀R, ∀plus mult : set → set → set, ∀leq : set → set → prop, ∀zero one, unpack_b_b_r_e_e_o (pack_b_b_r_e_e R plus mult leq zero one) (λR plus mult leq zero one ⇒ explicit_Reals R zero one plus mult leq) = explicit_Reals R zero one plus mult leq
L5149
Definition. We define RealsStruct_carrier to be λRs ⇒ Rs 0 of type set → set.
L5151
Definition. We define RealsStruct_plus to be λRs ⇒ decode_b (Rs 1) of type set → set → set → set.
L5153
Definition. We define RealsStruct_mult to be λRs ⇒ decode_b (Rs 2) of type set → set → set → set.
L5155
Definition. We define RealsStruct_leq to be λRs ⇒ decode_r (Rs 3) of type set → set → set → prop.
L5157
Definition. We define RealsStruct_zero to be λRs ⇒ Rs 4 of type set → set.
L5159
Definition. We define RealsStruct_one to be λRs ⇒ Rs 5 of type set → set.
Primitive. The name Field_of_RealsStruct is a term of type set → set.
L5164
Axiom. (Field_of_RealsStruct_0) We take the following as an axiom:
L5166
Axiom. (Field_of_RealsStruct_1) We take the following as an axiom:
L5168
Axiom. (Field_of_RealsStruct_2) We take the following as an axiom:
L5170
Axiom. (Field_of_RealsStruct_3) We take the following as an axiom:
L5172
Axiom. (Field_of_RealsStruct_4) We take the following as an axiom:
Beginning of Section RealsStruct
L5176
Variable Rs : set
L5178
Hypothesis HRs : RealsStruct Rs
L5179
Let R : set ≝ RealsStruct_carrier Rs
L5181
Let zero : set ≝ RealsStruct_zero Rs
L5182
Let one : set ≝ RealsStruct_one Rs
Notation. We use + as an infix operator with priority 360 and which associates to the right corresponding to applying term RealsStruct_plus Rs.
Notation. We use * as an infix operator with priority 355 and which associates to the right corresponding to applying term RealsStruct_mult Rs.
Notation. We use ≤ as an infix operator with priority 490 and no associativity corresponding to applying term RealsStruct_leq Rs.
L5187
Axiom. (RealsStruct_eta) We take the following as an axiom:
L5189
Axiom. (RealsStruct_explicit_Reals) We take the following as an axiom:
L5190
Axiom. (Field_of_RealsStruct_is_CRing) We take the following as an axiom:
L5192
Definition. We define RealsStruct_lt to be λx y ⇒ x ≤ y ∧ x ≠ y of type set → set → prop.
Notation. We use < as an infix operator with priority 490 and no associativity corresponding to applying term RealsStruct_lt.
L5195
Axiom. (explicit_Field_of_RealsStruct) We take the following as an axiom:
L5197
L5198
Axiom. (RealsStruct_OrderedField) We take the following as an axiom:
L5199
Axiom. (Field_of_RealsStruct_1f) We take the following as an axiom:
(λx y : set ⇒ Field_of_RealsStruct Rs 1 x y) = RealsStruct_plus Rs
L5201
Axiom. (Field_of_RealsStruct_2f) We take the following as an axiom:
(λx y : set ⇒ Field_of_RealsStruct Rs 2 x y) = RealsStruct_mult Rs
L5202
L5203
Axiom. (Field_Field_of_RealsStruct) We take the following as an axiom:
L5204
Axiom. (RealsStruct_zero_In) We take the following as an axiom:
zero ∈ R
L5206
Axiom. (RealsStruct_one_In) We take the following as an axiom:
one ∈ R
L5207
Axiom. (RealsStruct_plus_clos) We take the following as an axiom:
∀x y ∈ R, x + y ∈ R
L5208
Axiom. (RealsStruct_mult_clos) We take the following as an axiom:
∀x y ∈ R, x * y ∈ R
L5209
Axiom. (RealsStruct_plus_assoc) We take the following as an axiom:
∀x y z ∈ R, x + (y + z) = (x + y) + z
L5210
Axiom. (RealsStruct_plus_com) We take the following as an axiom:
∀x y ∈ R, x + y = y + x
L5211
Axiom. (RealsStruct_zero_L) We take the following as an axiom:
∀x ∈ R, zero + x = x
L5212
Axiom. (RealsStruct_mult_assoc) We take the following as an axiom:
∀x y z ∈ R, x * (y * z) = (x * y) * z
L5213
Axiom. (RealsStruct_mult_com) We take the following as an axiom:
∀x y ∈ R, x * y = y * x
L5214
Axiom. (RealsStruct_one_neq_zero) We take the following as an axiom:
one ≠ zero
L5215
Axiom. (RealsStruct_one_L) We take the following as an axiom:
∀x ∈ R, one * x = x
L5216
Axiom. (RealsStruct_distr_L) We take the following as an axiom:
∀x y z ∈ R, x * (y + z) = x * y + x * z
L5217
Axiom. (RealsStruct_leq_refl) We take the following as an axiom:
∀x ∈ R, x ≤ x
L5218
Axiom. (RealsStruct_leq_tra) We take the following as an axiom:
∀x y z ∈ R, x ≤ y → y ≤ z → x ≤ z
L5219
Axiom. (RealsStruct_leq_antisym) We take the following as an axiom:
∀x y ∈ R, x ≤ y → y ≤ x → x = y
L5220
Axiom. (RealsStruct_leq_linear) We take the following as an axiom:
∀x y ∈ R, x ≤ y ∨ y ≤ x
L5221
Axiom. (RealsStruct_leq_plus) We take the following as an axiom:
∀x y z ∈ R, x ≤ y → x + z ≤ y + z
L5222
Axiom. (RealsStruct_lt_leq) We take the following as an axiom:
∀x y ∈ R, x < y → x ≤ y
L5223
Axiom. (RealsStruct_lt_irref) We take the following as an axiom:
∀x ∈ R, ¬ (x < x)
L5224
Axiom. (RealsStruct_lt_leq_asym) We take the following as an axiom:
∀x y ∈ R, x < y → ¬ (y ≤ x)
L5225
Axiom. (RealsStruct_leq_lt_asym) We take the following as an axiom:
∀x y ∈ R, x ≤ y → ¬ (y < x)
L5226
Axiom. (RealsStruct_lt_asym) We take the following as an axiom:
∀x y ∈ R, x < y → ¬ (y < x)
L5227
Axiom. (RealsStruct_lt_leq_tra) We take the following as an axiom:
∀x y z ∈ R, x < y → y ≤ z → x < z
L5228
Axiom. (RealsStruct_leq_lt_tra) We take the following as an axiom:
∀x y z ∈ R, x ≤ y → y < z → x < z
L5229
Axiom. (RealsStruct_lt_tra) We take the following as an axiom:
∀x y z ∈ R, x < y → y < z → x < z
L5230
Axiom. (RealsStruct_lt_trich_impred) We take the following as an axiom:
∀x y ∈ R, ∀p : prop, (x < y → p) → (x = y → p) → (y < x → p) → p
L5231
Axiom. (RealsStruct_lt_trich) We take the following as an axiom:
∀x y ∈ R, x < y ∨ x = y ∨ y < x
L5232
Axiom. (RealsStruct_leq_lt_linear) We take the following as an axiom:
∀x y ∈ R, x ≤ y ∨ y < x
Notation. We use - as a prefix operator with priority 358 corresponding to applying term Field_minus (Field_of_RealsStruct Rs).
L5235
L5237
Axiom. (RealsStruct_minus_clos) We take the following as an axiom:
∀x ∈ R, - x ∈ R
L5238
Axiom. (RealsStruct_minus_R) We take the following as an axiom:
∀x ∈ R, x + - x = zero
L5239
Axiom. (RealsStruct_minus_L) We take the following as an axiom:
∀x ∈ R, - x + x = zero
L5240
Axiom. (RealsStruct_plus_cancelL) We take the following as an axiom:
∀x y z ∈ R, x + y = x + z → y = z
L5241
Axiom. (RealsStruct_minus_eq2) We take the following as an axiom:
L5242
Axiom. (RealsStruct_plus_cancelR) We take the following as an axiom:
∀x y z ∈ R, x + z = y + z → x = y
L5243
Axiom. (RealsStruct_minus_invol) We take the following as an axiom:
∀x ∈ R, - - x = x
L5244
Axiom. (RealsStruct_minus_one_In) We take the following as an axiom:
- one ∈ R
L5245
Axiom. (RealsStruct_zero_multR) We take the following as an axiom:
∀x ∈ R, x * zero = zero
L5246
Axiom. (RealsStruct_zero_multL) We take the following as an axiom:
∀x ∈ R, zero * x = zero
L5247
Axiom. (RealsStruct_minus_mult) We take the following as an axiom:
∀x ∈ R, - x = (- one) * x
L5248
Axiom. (RealsStruct_minus_one_square) We take the following as an axiom:
(- one) * (- one) = one
L5249
Axiom. (RealsStruct_minus_square) We take the following as an axiom:
∀x ∈ R, (- x) * (- x) = x * x
L5250
Axiom. (RealsStruct_minus_zero) We take the following as an axiom:
- zero = zero
L5251
Axiom. (RealsStruct_dist_R) We take the following as an axiom:
∀x y z ∈ R, (x + y) * z = x * z + y * z
L5252
Axiom. (RealsStruct_minus_plus_dist) We take the following as an axiom:
∀x y ∈ R, - (x + y) = - x + - y
L5253
Axiom. (RealsStruct_minus_mult_L) We take the following as an axiom:
∀x y ∈ R, (- x) * y = - (x * y)
L5254
Axiom. (RealsStruct_minus_mult_R) We take the following as an axiom:
∀x y ∈ R, x * (- y) = - (x * y)
L5255
Axiom. (RealsStruct_mult_zero_inv) We take the following as an axiom:
∀x y ∈ R, x * y = zero → x = zero ∨ y = zero
L5256
Axiom. (RealsStruct_square_zero_inv) We take the following as an axiom:
∀x ∈ R, x * x = zero → x = zero
L5257
Axiom. (RealsStruct_minus_leq) We take the following as an axiom:
∀x y ∈ R, x ≤ y → - y ≤ - x
L5258
Axiom. (RealsStruct_square_nonneg) We take the following as an axiom:
∀x ∈ R, zero ≤ x * x
L5259
Axiom. (RealsStruct_sum_squares_nonneg) We take the following as an axiom:
∀x y ∈ R, zero ≤ x * x + y * y
L5260
Axiom. (RealsStruct_sum_nonneg_zero_inv) We take the following as an axiom:
∀x y ∈ R, zero ≤ x → zero ≤ y → x + y = zero → x = zero ∧ y = zero
L5261
Axiom. (RealsStruct_sum_squares_zero_inv) We take the following as an axiom:
∀x y ∈ R, x * x + y * y = zero → x = zero ∧ y = zero
L5262
Axiom. (RealsStruct_leq_zero_one) We take the following as an axiom:
zero ≤ one
Primitive. The name RealsStruct_N is a term of type set.
L5266
Let N ≝ RealsStruct_N
L5268
Axiom. (RealsStruct_Arch) We take the following as an axiom:
∀x y ∈ R, zero < x → zero ≤ y → ∃n ∈ N, y ≤ n * x
L5270
Axiom. (RealsStruct_Compl) We take the following as an axiom:
∀a b ∈ RN, (∀n ∈ N, a n ≤ b n ∧ a n ≤ a (n + one) ∧ b (n + one) ≤ b n) → ∃x ∈ R, ∀n ∈ N, a n ≤ x ∧ x ≤ b n
L5273
Axiom. (RealsStruct_natOfOrderedField) We take the following as an axiom:
explicit_Nats N zero (λm ⇒ m + one)
L5275
L5277
Let Npos ≝ RealsStruct_Npos
L5278
Axiom. (RealsStruct_PosNats_natOfOrderedField) We take the following as an axiom:
explicit_Nats Npos one (λm ⇒ m + one)
Primitive. The name RealsStruct_Z is a term of type set.
L5283
Let Z ≝ RealsStruct_Z
Primitive. The name RealsStruct_Q is a term of type set.
L5287
Let Q ≝ RealsStruct_Q
L5288
Axiom. (RealsStruct_Npos_props) We take the following as an axiom:
∀p : prop, (Npos ⊆ R → explicit_Nats Npos one (λm ⇒ m + one) → one ∈ Npos → (∀m ∈ Npos, m + one ≠ one) → (∀m ∈ Npos, ∀q : set → prop, q one → (∀n ∈ Npos, q (n + one)) → q m) → (∀n m ∈ Npos, explicit_Nats_one_plus Npos one (λm ⇒ m + one) n m = n + m) → (∀n m ∈ Npos, explicit_Nats_one_mult Npos one (λm ⇒ m + one) n m = n * m) → (∀n m ∈ Npos, n + m ∈ Npos) → (∀n m ∈ Npos, n * m ∈ Npos) → p) → p
L5301
Axiom. (RealsStruct_Npos_R) We take the following as an axiom:
Npos ⊆ R
L5303
Axiom. (RealsStruct_one_Npos) We take the following as an axiom:
one ∈ Npos
L5305
Axiom. (RealsStruct_Z_props) We take the following as an axiom:
∀p : prop, ((∀n ∈ Npos, - n ∈ Z) → zero ∈ Z → Npos ⊆ Z → Z ⊆ R → (∀n ∈ Z, ∀q : prop, (- n ∈ Npos → q) → (n = zero → q) → (n ∈ Npos → q) → q) → one ∈ Z → - one ∈ Z → (∀m ∈ Z, - m ∈ Z) → (∀n m ∈ Z, n + m ∈ Z) → (∀n m ∈ Z, n * m ∈ Z) → p) → p
L5319
Axiom. (RealsStruct_neg_Z) We take the following as an axiom:
∀n ∈ Npos, - n ∈ Z
L5321
Axiom. (RealsStruct_zero_Z) We take the following as an axiom:
zero ∈ Z
L5322
Axiom. (RealsStruct_Npos_Z) We take the following as an axiom:
Npos ⊆ Z
L5323
Axiom. (RealsStruct_Z_R) We take the following as an axiom:
Z ⊆ R
L5324
Axiom. (RealsStruct_Q_props) We take the following as an axiom:
∀p : prop, (Q ⊆ R → (∀x ∈ Q, ∀q : prop, (x ∈ R → ∀n ∈ Z, ∀m ∈ Npos, m * x = n → q) → q) → (∀x ∈ R, ∀n ∈ Z, ∀m ∈ Npos, m * x = n → x ∈ Q) → p) → p
L5333
Axiom. (RealsStruct_Q_R) We take the following as an axiom:
Q ⊆ R
L5335
Axiom. (RealsStruct_Z_Q) We take the following as an axiom:
Z ⊆ Q
Notation. We use :/: as an infix operator with priority 353 and no associativity corresponding to applying term Field_div (Field_of_RealsStruct Rs).
L5338
Axiom. (RealsStruct_div_clos) We take the following as an axiom:
∀x ∈ R, ∀y ∈ R ∖ {zero}, x :/: y ∈ R
L5339
Axiom. (RealsStruct_mult_div) We take the following as an axiom:
∀x ∈ R, ∀y ∈ R ∖ {zero}, x = y * (x :/: y)
L5340
Axiom. (RealsStruct_div_undef1) We take the following as an axiom:
∀x y, x ∉ R → x :/: y = 0
L5341
Axiom. (RealsStruct_div_undef2) We take the following as an axiom:
∀x y, y ∉ R → x :/: y = 0
L5342
Axiom. (RealsStruct_div_undef3) We take the following as an axiom:
∀x, x :/: zero = 0
Notation. We use ^ as an infix operator with priority 342 and which associates to the right corresponding to applying term CRing_omega_exp (Field_of_RealsStruct Rs).
L5345
Axiom. (RealsStruct_omega_exp_0) We take the following as an axiom:
∀x, x ^ 0 = one
L5347
Axiom. (RealsStruct_omega_exp_S) We take the following as an axiom:
∀x, ∀n ∈ omega, x ^ (ordsucc n) = x * x ^ n
L5348
Axiom. (RealsStruct_omega_exp_1) We take the following as an axiom:
∀x ∈ R, x ^ 1 = x
L5349
Axiom. (RealsStruct_omega_exp_clos) We take the following as an axiom:
∀x ∈ R, ∀n ∈ omega, x ^ n ∈ R
Primitive. The name RealsStruct_abs is a term of type set → set.
L5353
Axiom. (RealsStruct_abs_clos) We take the following as an axiom:
L5355
Axiom. (RealsStruct_abs_nonneg_case) We take the following as an axiom:
∀x ∈ R, zero ≤ x → RealsStruct_abs x = x
L5356
Axiom. (RealsStruct_abs_neg_case) We take the following as an axiom:
∀x ∈ R, x < zero → RealsStruct_abs x = - x
L5357
Axiom. (RealsStruct_abs_nonneg) We take the following as an axiom:
L5358
Axiom. (RealsStruct_abs_zero_inv) We take the following as an axiom:
∀x ∈ R, RealsStruct_abs x = zero → x = zero
L5359
Axiom. (RealsStruct_dist_zero_eq) We take the following as an axiom:
∀x y ∈ R, RealsStruct_abs (x + - y) = zero → x = y
L5360
Definition. We define RealsStruct_divides to be λm n ⇒ ∃k ∈ Npos, m * k = n of type set → set → prop.
L5362
L5364
Definition. We define RealsStruct_coprime to be λm n ⇒ ∀k ∈ Npos, RealsStruct_divides k m → RealsStruct_divides k n → k = one of type set → set → prop.
L5366
Let Qs ≝ pack_b_b_e_e Q (RealsStruct_plus Rs) (RealsStruct_mult Rs) zero one
L5368
Axiom. (Field_RealsStruct_Q) We take the following as an axiom:
L5369
Definition. We define RealsStruct_omega_embedding to be nat_primrec zero (λ_ r ⇒ r + one) of type set → set.
L5371
Let emb : set → set ≝ RealsStruct_omega_embedding
L5373
Axiom. (RealsStruct_omega_embedding_N) We take the following as an axiom:
∀n ∈ omega, emb n ∈ N
End of Section RealsStruct