Unary Minus on Surreal Numbers
From Parts 1 - 3
Object . The name
Eps_i is a term of type
(set → prop ) → set .
Axiom. (
Eps_i_ax ) We take the following as an axiom:
∀P : set → prop , ∀x : set , P x → P (Eps_i P )
Definition. We define
True to be
∀p : prop , p → p of type
prop .
Definition. We define
False to be
∀p : prop , p of type
prop .
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 .
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 .
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 .
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
Variable A : SType
Definition. We define
eq to be
λx y : A ⇒ ∀Q : A → A → prop , Q x y → Q y x of type
A → A → prop .
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
Variable A B : SType
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
Variable A : SType
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 .
Axiom. (
prop_ext ) We take the following as an axiom:
∀p q : prop , iff p q → p = q
Object . 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 .
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 .
Axiom. (
set_ext ) We take the following as an axiom:
∀X Y : set , X ⊆ Y → Y ⊆ X → X = Y
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 .
Object . The name
Empty is a term of type
set .
Axiom. (
EmptyAx ) We take the following as an axiom:
Object . The name
⋃ is a term of type
set → set .
Axiom. (
UnionEq ) We take the following as an axiom:
∀X x, x ∈ ⋃ X ↔ ∃Y, x ∈ Y ∧ Y ∈ X
Object . The name
𝒫 is a term of type
set → set .
Axiom. (
PowerEq ) We take the following as an axiom:
∀X Y : set , Y ∈ 𝒫 X ↔ Y ⊆ X
Object . The name
Repl is a term of type
set → (set → set ) → set .
Notation .
{B | x ∈ A } is notation for
Repl A (λ x . B ).
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
Definition. We define
TransSet to be
λU : set ⇒ ∀x ∈ U , x ⊆ U of type
set → prop .
Definition. We define
Union_closed to be
λU : set ⇒ ∀X : set , X ∈ U → ⋃ X ∈ U of type
set → prop .
Definition. We define
Power_closed to be
λU : set ⇒ ∀X : set , X ∈ U → 𝒫 X ∈ U of type
set → prop .
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 .
Object . The name
UnivOf is a term of type
set → set .
Axiom. (
UnivOf_In ) We take the following as an axiom:
Axiom. (
UnivOf_Min ) We take the following as an axiom:
Axiom. (
FalseE ) We take the following as an axiom:
Axiom. (
TrueI ) We take the following as an axiom:
Axiom. (
andI ) We take the following as an axiom:
∀A B : prop , A → B → A ∧ B
Axiom. (
andEL ) We take the following as an axiom:
∀A B : prop , A ∧ B → A
Axiom. (
andER ) We take the following as an axiom:
∀A B : prop , A ∧ B → B
Axiom. (
orIL ) We take the following as an axiom:
∀A B : prop , A → A ∨ B
Axiom. (
orIR ) We take the following as an axiom:
∀A B : prop , B → A ∨ B
Beginning of Section PropN
Variable P1 P2 P3 : prop
Axiom. (
and3I ) We take the following as an axiom:
P1 → P2 → P3 → P1 ∧ P2 ∧ P3
Axiom. (
and3E ) We take the following as an axiom:
P1 ∧ P2 ∧ P3 → (∀p : prop , (P1 → P2 → P3 → p ) → p )
Axiom. (
or3I1 ) We take the following as an axiom:
P1 → P1 ∨ P2 ∨ P3
Axiom. (
or3I2 ) We take the following as an axiom:
P2 → P1 ∨ P2 ∨ P3
Axiom. (
or3I3 ) We take the following as an axiom:
P3 → P1 ∨ P2 ∨ P3
Axiom. (
or3E ) We take the following as an axiom:
P1 ∨ P2 ∨ P3 → (∀p : prop , (P1 → p ) → (P2 → p ) → (P3 → p ) → p )
Variable P4 : prop
Axiom. (
and4I ) We take the following as an axiom:
P1 → P2 → P3 → P4 → P1 ∧ P2 ∧ P3 ∧ P4
Variable P5 : prop
Axiom. (
and5I ) We take the following as an axiom:
P1 → P2 → P3 → P4 → P5 → P1 ∧ P2 ∧ P3 ∧ P4 ∧ P5
End of Section PropN
Axiom. (
not_or_and_demorgan ) We take the following as an axiom:
∀A B : prop , ¬ (A ∨ B ) → ¬ A ∧ ¬ B
Axiom. (
not_ex_all_demorgan_i ) We take the following as an axiom:
∀P : set → prop , (¬ ∃x, P x ) → ∀x, ¬ P x
Axiom. (
iffI ) We take the following as an axiom:
∀A B : prop , (A → B ) → (B → A ) → (A ↔ B )
Axiom. (
iffEL ) We take the following as an axiom:
∀A B : prop , (A ↔ B ) → A → B
Axiom. (
iffER ) We take the following as an axiom:
∀A B : prop , (A ↔ B ) → B → A
Axiom. (
iff_refl ) We take the following as an axiom:
∀A : prop , A ↔ A
Axiom. (
iff_sym ) We take the following as an axiom:
∀A B : prop , (A ↔ B ) → (B ↔ A )
Axiom. (
iff_trans ) We take the following as an axiom:
∀A B C : prop , (A ↔ B ) → (B ↔ C ) → (A ↔ C )
Axiom. (
eq_i_tra ) We take the following as an axiom:
∀x y z, x = y → y = z → x = z
Axiom. (
f_eq_i ) We take the following as an axiom:
∀f : set → set , ∀x y, x = y → f x = f y
Axiom. (
neq_i_sym ) We take the following as an axiom:
∀x y, x ≠ y → y ≠ x
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 .
Axiom. (
Eps_i_ex ) We take the following as an axiom:
∀P : set → prop , (∃x, P x ) → P (Eps_i P )
Axiom. (
pred_ext ) We take the following as an axiom:
∀P Q : set → prop , (∀x, P x ↔ Q x ) → P = Q
Axiom. (
prop_ext_2 ) We take the following as an axiom:
∀p q : prop , (p → q ) → (q → p ) → p = q
Axiom. (
Subq_ref ) We take the following as an axiom:
∀X : set , X ⊆ X
Axiom. (
Subq_tra ) We take the following as an axiom:
∀X Y Z : set , X ⊆ Y → Y ⊆ Z → X ⊆ Z
Axiom. (
Subq_contra ) We take the following as an axiom:
∀X Y z : set , X ⊆ Y → z ∉ Y → z ∉ X
Axiom. (
EmptyE ) We take the following as an axiom:
Axiom. (
Subq_Empty ) We take the following as an axiom:
Axiom. (
Empty_eq ) We take the following as an axiom:
∀X : set , (∀x, x ∉ X ) → X = Empty
Axiom. (
UnionI ) We take the following as an axiom:
∀X x Y : set , x ∈ Y → Y ∈ X → x ∈ ⋃ X
Axiom. (
UnionE ) We take the following as an axiom:
∀X x : set , x ∈ ⋃ X → ∃Y : set , x ∈ Y ∧ Y ∈ X
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
Axiom. (
PowerI ) We take the following as an axiom:
∀X Y : set , Y ⊆ X → Y ∈ 𝒫 X
Axiom. (
PowerE ) We take the following as an axiom:
∀X Y : set , Y ∈ 𝒫 X → Y ⊆ X
Axiom. (
xm ) We take the following as an axiom:
∀P : prop , P ∨ ¬ P
Axiom. (
dneg ) We take the following as an axiom:
∀P : prop , ¬ ¬ P → P
Axiom. (
not_all_ex_demorgan_i ) We take the following as an axiom:
∀P : set → prop , ¬ (∀x, P x ) → ∃x, ¬ P x
Axiom. (
eq_or_nand ) We take the following as an axiom:
or = (λx y : prop ⇒ ¬ (¬ x ∧ ¬ y ) )
Object . The name
exactly1of2 is a term of type
prop → prop → prop .
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
Axiom. (
ReplI ) We take the following as an axiom:
∀A : set , ∀F : set → set , ∀x : set , x ∈ A → F x ∈ {F x |x ∈ A }
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
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
Axiom. (
ReplE' ) We take the following as an axiom:
∀X, ∀f : set → set , ∀p : set → prop , (∀x ∈ X , p (f x ) ) → ∀y ∈ {f x |x ∈ X } , p y
Axiom. (
Repl_Empty ) We take the following as an axiom:
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 }
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 }
Axiom. (
Repl_inv_eq ) We take the following as an axiom:
∀P : set → prop , ∀f g : set → set , (∀x, P x → g (f x ) = x ) → ∀X, (∀x ∈ X , P x ) → {g y |y ∈ {f x |x ∈ X } } = X
Axiom. (
Repl_invol_eq ) We take the following as an axiom:
∀P : set → prop , ∀f : set → set , (∀x, P x → f (f x ) = x ) → ∀X, (∀x ∈ X , P x ) → {f y |y ∈ {f x |x ∈ X } } = X
Object . 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 .
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
Axiom. (
If_i_0 ) We take the following as an axiom:
∀p : prop , ∀x y : set , ¬ p → (if p then x else y ) = y
Axiom. (
If_i_1 ) We take the following as an axiom:
∀p : prop , ∀x y : set , p → (if p then x else y ) = x
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
Object . The name
UPair is a term of type
set → set → set .
Notation .
{x ,y } is notation for
UPair x y .
Axiom. (
UPairE ) We take the following as an axiom:
∀x y z : set , x ∈ {y ,z } → x = y ∨ x = z
Axiom. (
UPairI1 ) We take the following as an axiom:
∀y z : set , y ∈ {y ,z }
Axiom. (
UPairI2 ) We take the following as an axiom:
∀y z : set , z ∈ {y ,z }
Object . The name
Sing is a term of type
set → set .
Notation .
{x } is notation for
Sing x .
Axiom. (
SingI ) We take the following as an axiom:
∀x : set , x ∈ {x }
Axiom. (
SingE ) We take the following as an axiom:
∀x y : set , y ∈ {x } → y = x
Object . 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 .
Axiom. (
binunionI1 ) We take the following as an axiom:
∀X Y z : set , z ∈ X → z ∈ X ∪ Y
Axiom. (
binunionI2 ) We take the following as an axiom:
∀X Y z : set , z ∈ Y → z ∈ X ∪ Y
Axiom. (
binunionE ) We take the following as an axiom:
∀X Y z : set , z ∈ X ∪ Y → z ∈ X ∨ z ∈ Y
Axiom. (
binunionE' ) We take the following as an axiom:
∀X Y z, ∀p : prop , (z ∈ X → p ) → (z ∈ Y → p ) → (z ∈ X ∪ Y → p )
Axiom. (
binunion_asso ) We take the following as an axiom:
∀X Y Z : set , X ∪ (Y ∪ Z ) = (X ∪ Y ) ∪ Z
Axiom. (
binunion_com_Subq ) We take the following as an axiom:
∀X Y : set , X ∪ Y ⊆ Y ∪ X
Axiom. (
binunion_com ) We take the following as an axiom:
∀X Y : set , X ∪ Y = Y ∪ X
Axiom. (
binunion_Subq_1 ) We take the following as an axiom:
∀X Y : set , X ⊆ X ∪ Y
Axiom. (
binunion_Subq_2 ) We take the following as an axiom:
∀X Y : set , Y ⊆ X ∪ Y
Axiom. (
binunion_Subq_min ) We take the following as an axiom:
∀X Y Z : set , X ⊆ Z → Y ⊆ Z → X ∪ Y ⊆ Z
Axiom. (
Subq_binunion_eq ) We take the following as an axiom:
∀X Y, (X ⊆ Y ) = (X ∪ Y = Y )
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.
Object . The name
famunion is a term 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 .
Axiom. (
famunionI ) We take the following as an axiom:
∀X : set , ∀F : (set → set ) , ∀x y : set , x ∈ X → y ∈ F x → y ∈ ⋃x ∈ X F x
Axiom. (
famunionE ) We take the following as an axiom:
∀X : set , ∀F : (set → set ) , ∀y : set , y ∈ (⋃x ∈ X F x ) → ∃x ∈ X , y ∈ F x
Axiom. (
famunionE_impred ) We take the following as an axiom:
∀X : set , ∀F : (set → set ) , ∀y : set , y ∈ (⋃x ∈ X F x ) → ∀p : prop , (∀x, x ∈ X → y ∈ F x → p ) → p
Beginning of Section SepSec
Variable X : set
Variable P : set → prop
Let z : set ≝ Eps_i (λz ⇒ z ∈ X ∧ P z )
Let F : set → set ≝ λx ⇒ if P x then x else z
Object . The name
Sep is a term of type
set .
End of Section SepSec
Notation .
{x ∈ A | B } is notation for
Sep A (λ x . B ).
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 }
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
Axiom. (
SepE1 ) We take the following as an axiom:
∀X : set , ∀P : (set → prop ) , ∀x : set , x ∈ {x ∈ X |P x } → x ∈ X
Axiom. (
SepE2 ) We take the following as an axiom:
∀X : set , ∀P : (set → prop ) , ∀x : set , x ∈ {x ∈ X |P x } → P x
Axiom. (
Sep_Subq ) We take the following as an axiom:
∀X : set , ∀P : set → prop , {x ∈ X |P x } ⊆ X
Axiom. (
Sep_In_Power ) We take the following as an axiom:
∀X : set , ∀P : set → prop , {x ∈ X |P x } ∈ 𝒫 X
Object . 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 ).
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 }
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
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
Object . 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 .
Axiom. (
binintersectI ) We take the following as an axiom:
∀X Y z, z ∈ X → z ∈ Y → z ∈ X ∩ Y
Axiom. (
binintersectE ) We take the following as an axiom:
∀X Y z, z ∈ X ∩ Y → z ∈ X ∧ z ∈ Y
Axiom. (
binintersectE1 ) We take the following as an axiom:
∀X Y z, z ∈ X ∩ Y → z ∈ X
Axiom. (
binintersectE2 ) We take the following as an axiom:
∀X Y z, z ∈ X ∩ Y → z ∈ Y
Axiom. (
binintersect_Subq_max ) We take the following as an axiom:
∀X Y Z : set , Z ⊆ X → Z ⊆ Y → Z ⊆ X ∩ Y
Axiom. (
binintersect_com ) We take the following as an axiom:
∀X Y : set , X ∩ Y = Y ∩ X
Object . 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 .
Axiom. (
setminusI ) We take the following as an axiom:
∀X Y z, (z ∈ X ) → (z ∉ Y ) → z ∈ X ∖ Y
Axiom. (
setminusE ) We take the following as an axiom:
∀X Y z, (z ∈ X ∖ Y ) → z ∈ X ∧ z ∉ Y
Axiom. (
setminusE1 ) We take the following as an axiom:
∀X Y z, (z ∈ X ∖ Y ) → z ∈ X
Axiom. (
setminus_Subq ) We take the following as an axiom:
∀X Y : set , X ∖ Y ⊆ X
Axiom. (
setminus_Subq_contra ) We take the following as an axiom:
∀X Y Z : set , Z ⊆ Y → X ∖ Y ⊆ X ∖ Z
Axiom. (
In_irref ) We take the following as an axiom:
∀x, x ∉ x
Axiom. (
In_no2cycle ) We take the following as an axiom:
∀x y, x ∈ y → y ∈ x → False
Object . The name
ordsucc is a term of type
set → set .
Axiom. (
ordsuccI1 ) We take the following as an axiom:
Axiom. (
ordsuccI2 ) We take the following as an axiom:
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 .
Axiom. (
ordsucc_inj ) We take the following as an axiom:
Axiom. (
In_0_1 ) We take the following as an axiom:
0 ∈ 1
Axiom. (
In_0_2 ) We take the following as an axiom:
0 ∈ 2
Axiom. (
In_1_2 ) We take the following as an axiom:
1 ∈ 2
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 .
Axiom. (
nat_0 ) We take the following as an axiom:
Axiom. (
nat_ordsucc ) We take the following as an axiom:
Axiom. (
nat_1 ) We take the following as an axiom:
Axiom. (
nat_2 ) We take the following as an axiom:
Axiom. (
nat_ind ) We take the following as an axiom:
Axiom. (
nat_inv ) We take the following as an axiom:
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
Axiom. (
nat_p_trans ) We take the following as an axiom:
Axiom. (
nat_trans ) We take the following as an axiom:
∀n, nat_p n → ∀m ∈ n , m ⊆ n
Axiom. (
cases_1 ) We take the following as an axiom:
∀i ∈ 1 , ∀p : set → prop , p 0 → p i
Axiom. (
cases_2 ) We take the following as an axiom:
∀i ∈ 2 , ∀p : set → prop , p 0 → p 1 → p i
Axiom. (
cases_3 ) We take the following as an axiom:
∀i ∈ 3 , ∀p : set → prop , p 0 → p 1 → p 2 → p i
Axiom. (
neq_0_1 ) We take the following as an axiom:
0 ≠ 1
Axiom. (
neq_1_0 ) We take the following as an axiom:
1 ≠ 0
Axiom. (
neq_0_2 ) We take the following as an axiom:
0 ≠ 2
Axiom. (
neq_2_0 ) We take the following as an axiom:
2 ≠ 0
Axiom. (
neq_1_2 ) We take the following as an axiom:
1 ≠ 2
Axiom. (
ZF_closed_E ) We take the following as an axiom:
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
Object . The name
ω is a term of type
set .
Axiom. (
omega_nat_p ) We take the following as an axiom:
Axiom. (
nat_p_omega ) We take the following as an axiom:
Definition. We define
ordinal to be
λalpha : set ⇒ TransSet alpha ∧ ∀beta ∈ alpha , TransSet beta of type
set → prop .
Axiom. (
ordinal_1 ) We take the following as an axiom:
Axiom. (
ordinal_2 ) We take the following as an axiom:
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
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
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 .
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 .
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
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
Object . The name
inv is a term of type
set → (set → set ) → set → set .
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
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
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 )
Axiom. (
bij_id ) We take the following as an axiom:
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 ) )
Definition. We define
equip to be
λX Y : set ⇒ ∃f : set → set , bij X Y f of type
set → set → prop .
Axiom. (
equip_ref ) We take the following as an axiom:
Axiom. (
equip_sym ) We take the following as an axiom:
Axiom. (
equip_tra ) We take the following as an axiom:
Beginning of Section SchroederBernstein
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
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
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 }
End of Section SchroederBernstein
Beginning of Section PigeonHole
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
End of Section PigeonHole
Definition. We define
finite to be
λX ⇒ ∃n ∈ ω , equip X n of type
set → prop .
Axiom. (
finite_ind ) We take the following as an axiom:
∀p : set → prop , p Empty → (∀X y, finite X → y ∉ X → p X → p (X ∪ {y } ) ) → ∀X, finite X → p X
Axiom. (
Subq_finite ) We take the following as an axiom:
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
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
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
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
Beginning of Section Descr_ii
Variable P : (set → set ) → prop
Object . The name
Descr_ii is a term of type
set → set .
Hypothesis Pex : ∃f : set → set , P f
Hypothesis Puniq : ∀f g : set → set , P f → P g → f = g
End of Section Descr_ii
Beginning of Section Descr_iii
Variable P : (set → set → set ) → prop
Object . The name
Descr_iii is a term of type
set → set → set .
Hypothesis Pex : ∃f : set → set → set , P f
Hypothesis Puniq : ∀f g : set → set → set , P f → P g → f = g
End of Section Descr_iii
Beginning of Section Descr_Vo1
Variable P : Vo 1 → prop
Object . The name
Descr_Vo1 is a term of type
Vo 1 .
Hypothesis Pex : ∃f : Vo 1 , P f
Hypothesis Puniq : ∀f g : Vo 1 , P f → P g → f = g
End of Section Descr_Vo1
Beginning of Section If_ii
Variable p : prop
Variable f g : set → set
Object . The name
If_ii is a term of type
set → set .
Axiom. (
If_ii_1 ) We take the following as an axiom:
Axiom. (
If_ii_0 ) We take the following as an axiom:
End of Section If_ii
Beginning of Section If_iii
Variable p : prop
Variable f g : set → set → set
Object . The name
If_iii is a term of type
set → set → set .
Axiom. (
If_iii_1 ) We take the following as an axiom:
Axiom. (
If_iii_0 ) We take the following as an axiom:
End of Section If_iii
Beginning of Section EpsilonRec_i
Variable F : set → (set → set ) → set
Object . The name
In_rec_i is a term of type
set → set .
Hypothesis Fr : ∀X : set , ∀g h : set → set , (∀x ∈ X , g x = h x ) → F X g = F X h
Axiom. (
In_rec_i_eq ) We take the following as an axiom:
End of Section EpsilonRec_i
Beginning of Section EpsilonRec_ii
Variable F : set → (set → (set → set ) ) → (set → set )
Object . The name
In_rec_ii is a term of type
set → (set → set ) .
Hypothesis Fr : ∀X : set , ∀g h : set → (set → set ) , (∀x ∈ X , g x = h x ) → F X g = F X h
End of Section EpsilonRec_ii
Beginning of Section EpsilonRec_iii
Variable F : set → (set → (set → set → set ) ) → (set → set → set )
Object . The name
In_rec_iii is a term of type
set → (set → set → set ) .
Hypothesis Fr : ∀X : set , ∀g h : set → (set → set → set ) , (∀x ∈ X , g x = h x ) → F X g = F X h
End of Section EpsilonRec_iii
Beginning of Section NatRec
Variable z : set
Variable f : set → set → set
Let F : set → (set → set ) → set ≝ λn g ⇒ if ⋃ n ∈ n then f (⋃ n ) (g (⋃ n ) ) else z
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
End of Section NatRec
Beginning of Section NatArith
Notation . We use
+ as an infix operator with priority 360 and which associates to the right corresponding to applying term
add_nat .
Axiom. (
add_nat_0R ) We take the following as an axiom:
∀n : set , n + 0 = n
Axiom. (
add_nat_SR ) We take the following as an axiom:
Axiom. (
add_nat_p ) We take the following as an axiom:
Axiom. (
add_nat_1_1_2 ) We take the following as an axiom:
1 + 1 = 2
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 .
Axiom. (
mul_nat_0R ) We take the following as an axiom:
∀n : set , n * 0 = 0
Axiom. (
mul_nat_SR ) We take the following as an axiom:
Axiom. (
mul_nat_p ) We take the following as an axiom:
End of Section NatArith
Definition. We define
Inj1 to be
In_rec_i (λX f ⇒ {0 } ∪ {f x |x ∈ X } ) of type
set → set .
Axiom. (
Inj1_eq ) We take the following as an axiom:
Axiom. (
Inj1I1 ) We take the following as an axiom:
Axiom. (
Inj1I2 ) We take the following as an axiom:
Axiom. (
Inj1E ) We take the following as an axiom:
∀X y : set , y ∈ Inj1 X → y = 0 ∨ ∃x ∈ X , y = Inj1 x
Axiom. (
Inj1NE1 ) We take the following as an axiom:
Axiom. (
Inj1NE2 ) We take the following as an axiom:
Definition. We define
Inj0 to be
λX ⇒ {Inj1 x |x ∈ X } of type
set → set .
Axiom. (
Inj0I ) We take the following as an axiom:
Axiom. (
Inj0E ) We take the following as an axiom:
∀X y : set , y ∈ Inj0 X → ∃x : set , x ∈ X ∧ y = Inj1 x
Definition. We define
Unj to be
In_rec_i (λX f ⇒ {f x |x ∈ X ∖ {0 } } ) of type
set → set .
Axiom. (
Unj_eq ) We take the following as an axiom:
∀X : set , Unj X = {Unj x |x ∈ X ∖ {0 } }
Axiom. (
Unj_Inj1_eq ) We take the following as an axiom:
Axiom. (
Inj1_inj ) We take the following as an axiom:
Axiom. (
Unj_Inj0_eq ) We take the following as an axiom:
Axiom. (
Inj0_inj ) We take the following as an axiom:
Axiom. (
Inj0_0 ) We take the following as an axiom:
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 .
Axiom. (
Inj0_setsum ) We take the following as an axiom:
∀X Y x : set , x ∈ X → Inj0 x ∈ X + Y
Axiom. (
Inj1_setsum ) We take the following as an axiom:
∀X Y y : set , y ∈ Y → Inj1 y ∈ X + Y
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 )
Axiom. (
Subq_1_Sing0 ) We take the following as an axiom:
1 ⊆ {0 }
Axiom. (
setsum_0_0 ) We take the following as an axiom:
0 + 0 = 0
Axiom. (
setsum_1_0_1 ) We take the following as an axiom:
1 + 0 = 1
Axiom. (
setsum_1_1_2 ) We take the following as an axiom:
1 + 1 = 2
Beginning of Section pair_setsum
Definition. We define
proj0 to be
λZ ⇒ {Unj z |z ∈ Z , ∃x : set , Inj0 x = z } of type
set → set .
Definition. We define
proj1 to be
λZ ⇒ {Unj z |z ∈ Z , ∃y : set , Inj1 y = z } of type
set → set .
Axiom. (
pairI0 ) We take the following as an axiom:
∀X Y x, x ∈ X → pair 0 x ∈ pair X Y
Axiom. (
pairI1 ) We take the following as an axiom:
∀X Y y, y ∈ Y → pair 1 y ∈ pair X Y
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 )
Axiom. (
pairE0 ) We take the following as an axiom:
∀X Y x, pair 0 x ∈ pair X Y → x ∈ X
Axiom. (
pairE1 ) We take the following as an axiom:
∀X Y y, pair 1 y ∈ pair X Y → y ∈ Y
Axiom. (
proj0I ) We take the following as an axiom:
∀w u : set , pair 0 u ∈ w → u ∈ proj0 w
Axiom. (
proj0E ) We take the following as an axiom:
∀w u : set , u ∈ proj0 w → pair 0 u ∈ w
Axiom. (
proj1I ) We take the following as an axiom:
∀w u : set , pair 1 u ∈ w → u ∈ proj1 w
Axiom. (
proj1E ) We take the following as an axiom:
∀w u : set , u ∈ proj1 w → pair 1 u ∈ w
Axiom. (
proj0_pair_eq ) We take the following as an axiom:
∀X Y : set , proj0 (pair X Y ) = X
Axiom. (
proj1_pair_eq ) We take the following as an axiom:
∀X Y : set , proj1 (pair X Y ) = Y
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 .
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
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
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
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 )
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
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
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 .
Let lam : set → (set → set ) → set ≝ Sigma
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 ).
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
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
Axiom. (
apI ) We take the following as an axiom:
∀f x y, pair x y ∈ f → y ∈ f x
Axiom. (
apE ) We take the following as an axiom:
∀f x y, y ∈ f x → pair x y ∈ f
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
Axiom. (
proj0_ap_0 ) We take the following as an axiom:
Axiom. (
proj1_ap_1 ) We take the following as an axiom:
Axiom. (
pair_ap_0 ) We take the following as an axiom:
∀x y : set , (pair x y ) 0 = x
Axiom. (
pair_ap_1 ) We take the following as an axiom:
∀x y : set , (pair x y ) 1 = y
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
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 ) )
Definition. We define
pair_p to be
λu : set ⇒ pair (u 0 ) (u 1 ) = u of type
set → prop .
Axiom. (
pair_p_I ) We take the following as an axiom:
Axiom. (
tuple_pair ) We take the following as an axiom:
∀x y : set , pair x y = (x ,y )
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 .
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
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 )
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
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 .
Axiom. (
pair_tuple_fun ) We take the following as an axiom:
pair = (λx y ⇒ (x ,y ) )
Axiom. (
lamI2 ) We take the following as an axiom:
∀X, ∀F : set → set , ∀x ∈ X , ∀y ∈ F x , (x ,y ) ∈ λx ∈ X ⇒ F x
Beginning of Section Tuples
Variable x0 x1 : set
Axiom. (
tuple_2_0_eq ) We take the following as an axiom:
(x0 ,x1 ) 0 = x0
Axiom. (
tuple_2_1_eq ) We take the following as an axiom:
(x0 ,x1 ) 1 = x1
End of Section Tuples
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 }
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
Axiom. (
tuple_2_setprod ) We take the following as an axiom:
∀X : set , ∀Y : set , ∀x ∈ X , ∀y ∈ Y , (x ,y ) ∈ X ⨯ Y
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 .
Object . The name
DescrR_i_io_1 is a term of type
(set → (set → prop ) → prop ) → set .
Object . The name
DescrR_i_io_2 is a term of type
(set → (set → prop ) → prop ) → set → prop .
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 )
Definition. We define
PNoEq_ to be
λalpha p q ⇒ ∀beta ∈ alpha , p beta ↔ q beta of type
set → (set → prop ) → (set → prop ) → prop .
Axiom. (
PNoEq_ref_ ) We take the following as an axiom:
∀alpha, ∀p : set → prop , PNoEq_ alpha p p
Axiom. (
PNoEq_sym_ ) We take the following as an axiom:
∀alpha, ∀p q : set → prop , PNoEq_ alpha p q → PNoEq_ alpha q p
Axiom. (
PNoEq_tra_ ) We take the following as an axiom:
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 .
Axiom. (
PNoLt_E_ ) We take the following as an axiom:
Axiom. (
PNoLt_irref_ ) We take the following as an axiom:
∀alpha, ∀p : set → prop , ¬ PNoLt_ alpha p p
Axiom. (
PNoLt_mon_ ) We take the following as an axiom:
Axiom. (
PNoLt_tra_ ) We take the following as an axiom:
Object . The name
PNoLt is a term of type
set → (set → prop ) → set → (set → prop ) → prop .
Axiom. (
PNoLtI1 ) We take the following as an axiom:
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
Axiom. (
PNoLtI3 ) We take the following as an axiom:
Axiom. (
PNoLtE ) We take the following as an axiom:
Axiom. (
PNoLt_irref ) We take the following as an axiom:
∀alpha, ∀p : set → prop , ¬ PNoLt alpha p alpha p
Axiom. (
PNoLtEq_tra ) We take the following as an axiom:
Axiom. (
PNoEqLt_tra ) We take the following as an axiom:
Axiom. (
PNoLt_tra ) We take the following as an axiom:
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 .
Axiom. (
PNoLeI1 ) We take the following as an axiom:
Axiom. (
PNoLeI2 ) We take the following as an axiom:
∀alpha, ∀p q : set → prop , PNoEq_ alpha p q → PNoLe alpha p alpha q
Axiom. (
PNoLe_ref ) We take the following as an axiom:
∀alpha, ∀p : set → prop , PNoLe alpha p alpha p
Axiom. (
PNoLtLe_tra ) We take the following as an axiom:
Axiom. (
PNoLeLt_tra ) We take the following as an axiom:
Axiom. (
PNoEqLe_tra ) We take the following as an axiom:
Axiom. (
PNoLe_tra ) We take the following as an axiom:
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 .
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 .
Axiom. (
PNoLe_downc ) We take the following as an axiom:
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
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
Axiom. (
PNoLe_upc ) We take the following as an axiom:
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 .
Axiom. (
PNo_extend0_eq ) We take the following as an axiom:
∀alpha, ∀p : set → prop , PNoEq_ alpha p (λdelta ⇒ p delta ∧ delta ≠ alpha )
Axiom. (
PNo_extend1_eq ) We take the following as an axiom:
∀alpha, ∀p : set → prop , PNoEq_ alpha p (λdelta ⇒ p delta ∨ delta = alpha )
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 .
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 .
Object . The name
PNo_bd is a term of type
(set → (set → prop ) → prop ) → (set → (set → prop ) → prop ) → set .
Object . The name
PNo_pred is a term of type
(set → (set → prop ) → prop ) → (set → (set → prop ) → prop ) → set → prop .
Axiom. (
PNo_bd_pred ) We take the following as an axiom:
Axiom. (
PNo_bd_In ) We take the following as an axiom:
Beginning of Section TaggedSets
Let tag : set → set ≝ λalpha ⇒ SetAdjoin alpha {1 }
Notation . We use ' as a postfix operator with priority 100 corresponding to applying term tag .
Definition. We define
SNoElts_ to be
λalpha ⇒ alpha ∪ {beta ' |beta ∈ alpha } of type
set → set .
Axiom. (
SNoElts_mon ) We take the following as an axiom:
Definition. We define
PSNo to be
λalpha p ⇒ {beta ∈ alpha |p beta } ∪ {beta ' |beta ∈ alpha , ¬ p beta } of type
set → (set → prop ) → set .
Axiom. (
PNoEq_PSNo ) We take the following as an axiom:
Axiom. (
SNo_PSNo ) We take the following as an axiom:
Object . The name
SNo is a term of type
set → prop .
Axiom. (
SNo_SNo ) We take the following as an axiom:
Object . The name
SNoLev is a term of type
set → set .
Axiom. (
SNoLev_uniq ) We take the following as an axiom:
Axiom. (
SNoLev_prop ) We take the following as an axiom:
Axiom. (
SNoLev_ ) We take the following as an axiom:
Axiom. (
SNoLev_PSNo ) We take the following as an axiom:
Axiom. (
SNo_Subq ) We take the following as an axiom:
Definition. We define
SNoEq_ to be
λalpha x y ⇒ PNoEq_ alpha (λbeta ⇒ beta ∈ x ) (λbeta ⇒ beta ∈ y ) of type
set → set → set → prop .
Axiom. (
SNoEq_I ) We take the following as an axiom:
Axiom. (
SNo_eq ) We take the following as an axiom:
End of Section TaggedSets
Notation . We use
< as an infix operator with priority 490 and no associativity corresponding to applying term
SNoLt .
Notation . We use
≤ as an infix operator with priority 490 and no associativity corresponding to applying term
SNoLe .
Axiom. (
SNoLtLe ) We take the following as an axiom:
∀x y, x < y → x ≤ y
Axiom. (
SNoLeE ) We take the following as an axiom:
∀x y, SNo x → SNo y → x ≤ y → x < y ∨ x = y
Axiom. (
SNoEq_sym_ ) We take the following as an axiom:
Axiom. (
SNoEq_tra_ ) We take the following as an axiom:
Axiom. (
SNoLtE ) We take the following as an axiom:
Axiom. (
SNoLtI2 ) We take the following as an axiom:
Axiom. (
SNoLtI3 ) We take the following as an axiom:
Axiom. (
SNoLt_irref ) We take the following as an axiom:
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
Axiom. (
SNoLe_ref ) We take the following as an axiom:
Axiom. (
SNoLe_antisym ) We take the following as an axiom:
∀x y, SNo x → SNo y → x ≤ y → y ≤ x → x = y
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
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
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
Axiom. (
SNoLtLe_or ) We take the following as an axiom:
∀x y, SNo x → SNo y → x < y ∨ y ≤ x
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 .
Axiom. (
SNoCutP_L_0 ) We take the following as an axiom:
Axiom. (
SNoCutP_0_R ) We take the following as an axiom:
Axiom. (
SNoCutP_0_0 ) We take the following as an axiom:
Definition. We define
SNoS_ to be
λalpha ⇒ {x ∈ 𝒫 (SNoElts_ alpha ) |∃beta ∈ alpha , SNo_ beta x } of type
set → set .
Axiom. (
SNoS_E ) We take the following as an axiom:
Beginning of Section TaggedSets2
Let tag : set → set ≝ λalpha ⇒ SetAdjoin alpha {1 }
Notation . We use ' as a postfix operator with priority 100 corresponding to applying term tag .
Axiom. (
SNoS_I ) We take the following as an axiom:
Axiom. (
SNoS_I2 ) We take the following as an axiom:
Axiom. (
SNoS_Subq ) We take the following as an axiom:
Axiom. (
SNoS_E2 ) We take the following as an axiom:
Axiom. (
SNoS_In_neq ) We take the following as an axiom:
Axiom. (
SNoS_SNoLev ) We take the following as an axiom:
Definition. We define
SNoL to be
λz ⇒ {x ∈ SNoS_ (SNoLev z ) |x < z } of type
set → set .
Definition. We define
SNoR to be
λz ⇒ {y ∈ SNoS_ (SNoLev z ) |z < y } of type
set → set .
Axiom. (
SNoL_E ) We take the following as an axiom:
Axiom. (
SNoR_E ) We take the following as an axiom:
Axiom. (
SNoL_SNoS_ ) We take the following as an axiom:
Axiom. (
SNoR_SNoS_ ) We take the following as an axiom:
Axiom. (
SNoL_SNoS ) We take the following as an axiom:
Axiom. (
SNoR_SNoS ) We take the following as an axiom:
Axiom. (
SNoL_I ) We take the following as an axiom:
Axiom. (
SNoR_I ) We take the following as an axiom:
Axiom. (
SNo_eta ) We take the following as an axiom:
Axiom. (
SNoCut_Le ) We take the following as an axiom:
Axiom. (
SNoCut_ext ) We take the following as an axiom:
Axiom. (
ordinal_SNo ) We take the following as an axiom:
Axiom. (
nat_p_SNo ) We take the following as an axiom:
Axiom. (
omega_SNo ) We take the following as an axiom:
Axiom. (
SNo_0 ) We take the following as an axiom:
Axiom. (
SNo_1 ) We take the following as an axiom:
Axiom. (
SNo_2 ) We take the following as an axiom:
Axiom. (
SNoLev_0 ) We take the following as an axiom:
Axiom. (
SNoCut_0_0 ) We take the following as an axiom:
Axiom. (
SNoL_0 ) We take the following as an axiom:
Axiom. (
SNoR_0 ) We take the following as an axiom:
Axiom. (
SNoL_1 ) We take the following as an axiom:
Axiom. (
SNoR_1 ) We take the following as an axiom:
Definition. We define
eps_ to be
λn ⇒ {0 } ∪ {(ordsucc m ) ' |m ∈ n } of type
set → set .
Axiom. (
eps_0_1 ) We take the following as an axiom:
Axiom. (
SNo__eps_ ) We take the following as an axiom:
Axiom. (
SNo_eps_ ) We take the following as an axiom:
Axiom. (
SNo_eps_1 ) We take the following as an axiom:
Axiom. (
SNoLev_eps_ ) We take the following as an axiom:
Axiom. (
SNo_eps_pos ) We take the following as an axiom:
Axiom. (
eps_SNo_eq ) We take the following as an axiom:
Axiom. (
eps_SNoCutP ) We take the following as an axiom:
Axiom. (
eps_SNoCut ) We take the following as an axiom:
End of Section TaggedSets2
Axiom. (
SNo_etaE ) We take the following as an axiom:
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
Variable F : set → (set → set ) → set
Let G : set → (set → set → set ) → set → set ≝ λalpha g ⇒ If_ii (ordinal alpha ) (λz : set ⇒ if z ∈ SNoS_ (ordsucc alpha ) then F z (λw ⇒ g (SNoLev w ) w ) else default ) (λz : set ⇒ default )
Object . The name
SNo_rec_i is a term of type
set → set .
Hypothesis Fr : ∀z, SNo z → ∀g h : set → set , (∀w ∈ SNoS_ (SNoLev z ) , g w = h w ) → F z g = F z h
End of Section SurrealRecI
Beginning of Section SurrealRecII
Variable F : set → (set → (set → set ) ) → (set → set )
Let G : set → (set → set → (set → set ) ) → set → (set → set ) ≝ λalpha g ⇒ If_iii (ordinal alpha ) (λz : set ⇒ If_ii (z ∈ SNoS_ (ordsucc alpha ) ) (F z (λw ⇒ g (SNoLev w ) w ) ) default ) (λz : set ⇒ default )
Object . The name
SNo_rec_ii is a term of type
set → (set → set ) .
Hypothesis Fr : ∀z, SNo z → ∀g h : set → (set → set ) , (∀w ∈ SNoS_ (SNoLev z ) , g w = h w ) → F z g = F z h
End of Section SurrealRecII
Beginning of Section SurrealRec2
Variable F : set → set → (set → set → set ) → set
Let G : set → (set → set → set ) → set → (set → set ) → set ≝ λw f z g ⇒ F w z (λx y ⇒ if x = w then g y else f x y )
Let H : set → (set → set → set ) → set → set ≝ λw f z ⇒ if SNo z then SNo_rec_i (G w f ) z else Empty
Object . The name
SNo_rec2 is a term of type
set → set → set .
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
Axiom. (
SNo_rec2_G_prop ) We take the following as an axiom:
∀w, SNo w → ∀f k : set → set → set , (∀x ∈ SNoS_ (SNoLev w ) , f x = k x ) → ∀z, SNo z → ∀g h : set → set , (∀u ∈ SNoS_ (SNoLev z ) , g u = h u ) → G w f z g = G w k z h
Axiom. (
SNo_rec2_eq ) We take the following as an axiom:
End of Section SurrealRec2
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 )
Axiom. (
SNoLev_ind2 ) We take the following as an axiom:
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
Axiom. (
SNo_omega ) We take the following as an axiom:
Axiom. (
SNoLt_0_1 ) We take the following as an axiom:
0 < 1
Axiom. (
SNoLt_0_2 ) We take the following as an axiom:
0 < 2
Axiom. (
SNoLt_1_2 ) We take the following as an axiom:
1 < 2
Axiom. (
restr_SNo_ ) We take the following as an axiom:
Axiom. (
restr_SNo ) We take the following as an axiom:
Axiom. (
restr_SNoEq ) We take the following as an axiom:
Part 4
Beginning of Section SurrealMinus
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 .
Proof:
Let x be given.
Let g and h be given.
We prove the intermediate
claim L1a :
{g z |z ∈ SNoR x } = {h z |z ∈ SNoR x } .
Let z be given.
We will prove g z = h z .
Apply Hgh to the current goal.
An
exact proof term for the current goal is
SNoR_SNoS x Hx z Hz .
We prove the intermediate
claim L1b :
{g w |w ∈ SNoL x } = {h w |w ∈ SNoL x } .
Let w be given.
We will prove g w = h w .
Apply Hgh to the current goal.
An
exact proof term for the current goal is
SNoL_SNoS x Hx w Hw .
rewrite the current goal using L1a (from left to right).
rewrite the current goal using L1b (from left to right).
Use reflexivity.
∎
Proof:
Let x be given.
We prove the intermediate
claim IHLx :
∀w ∈ SNoL x , SNo (- w ) ∧ (∀u ∈ SNoL w , - w < - u ) ∧ (∀u ∈ SNoR w , - u < - w ) .
Let w be given.
Apply SNoL_E x Hx w Hw to the current goal.
Assume Hw3 : w < x .
We prove the intermediate
claim Lw :
w ∈ SNoS_ (SNoLev x ) .
An
exact proof term for the current goal is
SNoS_I2 w x Hw1 Hx Hw2 .
Apply IH w Lw to the current goal.
Assume H _ .
An exact proof term for the current goal is H .
We prove the intermediate
claim IHRx :
∀z ∈ SNoR x , SNo (- z ) ∧ (∀u ∈ SNoL z , - z < - u ) ∧ (∀u ∈ SNoR z , - u < - z ) .
Let w be given.
Apply SNoR_E x Hx w Hw to the current goal.
Assume Hw3 : x < w .
We prove the intermediate
claim Lw :
w ∈ SNoS_ (SNoLev x ) .
An
exact proof term for the current goal is
SNoS_I2 w x Hw1 Hx Hw2 .
Apply IH w Lw to the current goal.
Assume H _ .
An exact proof term for the current goal is H .
Set L to be the term
{- z |z ∈ SNoR x } .
Set R to be the term
{- w |w ∈ SNoL x } .
We prove the intermediate
claim LLR :
SNoCutP L R .
We will
prove (∀w ∈ L , SNo w ) ∧ (∀z ∈ R , SNo z ) ∧ (∀w ∈ L , ∀z ∈ R , w < z ) .
Apply and3I to the current goal.
Let w be given.
Assume Hw : w ∈ L .
Let z be given.
Assume Hwz : w = - z .
Apply IHRx z Hz to the current goal.
Assume H2 .
Apply H2 to the current goal.
Assume _ _ .
rewrite the current goal using Hwz (from left to right).
An exact proof term for the current goal is H2 .
Let z be given.
Assume Hz : z ∈ R .
Let w be given.
Assume Hzw : z = - w .
Apply IHLx w Hw to the current goal.
Assume H2 .
Apply H2 to the current goal.
Assume _ _ .
rewrite the current goal using Hzw (from left to right).
An exact proof term for the current goal is H2 .
Let w be given.
Assume Hw : w ∈ L .
Let z be given.
Assume Hz : z ∈ R .
Let u be given.
Assume Hwu : w = - u .
Apply SNoR_E x Hx u Hu to the current goal.
Assume Hu3 : x < u .
Let v be given.
Assume Hzv : z = - v .
Apply SNoL_E x Hx v Hv to the current goal.
Assume Hv3 : v < x .
Apply IHLx v Hv to the current goal.
Assume H2 .
Apply H2 to the current goal.
Apply IHRx u Hu to the current goal.
Assume H5 .
Apply H5 to the current goal.
We will prove w < z .
rewrite the current goal using Hwu (from left to right).
rewrite the current goal using Hzv (from left to right).
We will prove - u < - v .
We prove the intermediate claim Lvu : v < u .
An
exact proof term for the current goal is
SNoLt_tra v x u Hv1 Hx Hu1 Hv3 Hu3 .
Apply SNoLtE v u Hv1 Hu1 Lvu to the current goal.
Let z be given.
Assume Hz4 : v < z .
Assume Hz5 : z < u .
We prove the intermediate
claim LzLx :
z ∈ SNoS_ (SNoLev x ) .
Apply SNoS_I2 z x Hz Hx to the current goal.
Assume _ .
An
exact proof term for the current goal is
Hx2 (SNoLev u ) Hu2 (SNoLev z ) Hz1b .
We prove the intermediate
claim Lmz :
SNo (- z ) .
Apply IH z LzLx to the current goal.
Assume H .
Apply H to the current goal.
Assume H .
Apply H to the current goal.
Assume H _ _ _ .
An exact proof term for the current goal is H .
We will prove - u < - v .
Apply SNoLt_tra (- u ) (- z ) (- v ) H5 Lmz H2 to the current goal.
We will prove - u < - z .
Apply H6 to the current goal.
We will
prove z ∈ SNoL u .
Apply SepI to the current goal.
Apply SNoS_I2 z u Hz Hu1 Hz1b to the current goal.
We will prove z < u .
An exact proof term for the current goal is Hz5 .
We will prove - z < - v .
Apply H4 to the current goal.
We will
prove z ∈ SNoR v .
Apply SepI to the current goal.
An
exact proof term for the current goal is
SNoS_I2 z v Hz Hv1 Hz1a .
We will prove v < z .
An exact proof term for the current goal is Hz4 .
We will prove - u < - v .
Apply H6 to the current goal.
We will
prove v ∈ SNoL u .
Apply SepI to the current goal.
An
exact proof term for the current goal is
SNoS_I2 v u Hv1 Hu1 H8 .
We will prove v < u .
An exact proof term for the current goal is Lvu .
We will prove - u < - v .
Apply H4 to the current goal.
We will
prove u ∈ SNoR v .
Apply SepI to the current goal.
An
exact proof term for the current goal is
SNoS_I2 u v Hu1 Hv1 H8 .
We will prove v < u .
An exact proof term for the current goal is Lvu .
We prove the intermediate
claim LNLR :
SNo (SNoCut L R ) .
Apply andI to the current goal.
rewrite the current goal using
minus_SNo_eq x Hx (from left to right).
Apply and3I to the current goal.
An exact proof term for the current goal is LNLR .
Let u be given.
We will
prove SNoCut L R < - u .
Apply SNoL_E x Hx u Hu to the current goal.
Assume Hu3 : u < x .
We prove the intermediate claim LmuR : - u ∈ R .
Apply ReplI to the current goal.
We will
prove u ∈ SNoL x .
An exact proof term for the current goal is Hu .
We will
prove SNoCut L R < - u .
An
exact proof term for the current goal is
SNoCutP_SNoCut_R L R LLR (- u ) LmuR .
Let u be given.
We will
prove - u < SNoCut L R .
Apply SNoR_E x Hx u Hu to the current goal.
Assume Hu3 : x < u .
We prove the intermediate claim LmuL : - u ∈ L .
Apply ReplI to the current goal.
We will
prove u ∈ SNoR x .
An exact proof term for the current goal is Hu .
We will
prove - u < SNoCut L R .
An
exact proof term for the current goal is
SNoCutP_SNoCut_L L R LLR (- u ) LmuL .
An exact proof term for the current goal is LLR .
∎
Proof: Let x be given.
Assume Hx .
Assume H .
Apply H to the current goal.
Assume H .
Apply H to the current goal.
Assume H _ _ _ .
An exact proof term for the current goal is H .
∎
Proof: Let x and y be given.
Assume Hxy : x < y .
Assume H1 .
Apply H1 to the current goal.
Assume H1 .
Apply H1 to the current goal.
Assume _ .
Assume H4 .
Apply H4 to the current goal.
Assume H4 .
Apply H4 to the current goal.
Assume _ .
Apply SNoLtE x y Hx Hy Hxy to the current goal.
Let z be given.
Assume Hz4 : x < z .
Assume Hz5 : z < y .
Assume Hz1x Hz1y .
We will prove - y < - x .
We will prove - y < - z .
Apply H5 z to the current goal.
We will
prove z ∈ SNoL y .
Apply SepI to the current goal.
An
exact proof term for the current goal is
SNoS_I2 z y Hz Hy Hz1y .
We will prove z < y .
An exact proof term for the current goal is Hz5 .
We will prove - z < - x .
Apply H3 z to the current goal.
We will
prove z ∈ SNoR x .
Apply SepI to the current goal.
An
exact proof term for the current goal is
SNoS_I2 z x Hz Hx Hz1x .
We will prove x < z .
An exact proof term for the current goal is Hz4 .
Apply H5 x to the current goal.
We will
prove x ∈ SNoL y .
Apply SepI to the current goal.
An
exact proof term for the current goal is
SNoS_I2 x y Hx Hy H7 .
We will prove x < y .
An exact proof term for the current goal is Hxy .
We will prove - y < - x .
Apply H3 y to the current goal.
We will
prove y ∈ SNoR x .
Apply SepI to the current goal.
An
exact proof term for the current goal is
SNoS_I2 y x Hy Hx H7 .
We will prove x < y .
An exact proof term for the current goal is Hxy .
∎
Proof: Let x and y be given.
Assume Hxy : x ≤ y .
Apply SNoLeE x y Hx Hy Hxy to the current goal.
Assume H1 : x < y .
We will prove - y ≤ - x .
We will prove - y < - x .
Assume H1 : x = y .
We will prove - y ≤ - x .
rewrite the current goal using H1 (from left to right).
We will prove - y ≤ - y .
∎
Proof: Let x be given.
Assume H1 .
Apply H1 to the current goal.
Assume H1 .
Apply H1 to the current goal.
Assume _ _ _ H1 .
An exact proof term for the current goal is H1 .
∎
Proof: Let L and R be given.
Apply HLR to the current goal.
Assume H .
Apply H to the current goal.
Assume HLR3 : ∀x ∈ L , ∀y ∈ R , x < y .
Set Lm to be the term {- z |z ∈ R } .
Set Rm to be the term {- w |w ∈ L } .
We will
prove (∀w ∈ Lm , SNo w ) ∧ (∀z ∈ Rm , SNo z ) ∧ (∀w ∈ Lm , ∀z ∈ Rm , w < z ) .
Apply and3I to the current goal.
Let w be given.
Assume Hw : w ∈ Lm .
Let z be given.
Assume Hz : z ∈ R .
Assume Hwz : w = - z .
rewrite the current goal using Hwz (from left to right).
Apply HLR2 to the current goal.
An exact proof term for the current goal is Hz .
Let z be given.
Assume Hz : z ∈ Rm .
Let w be given.
Assume Hw : w ∈ L .
Assume Hzw : z = - w .
rewrite the current goal using Hzw (from left to right).
An exact proof term for the current goal is HLR1 w Hw .
Let w be given.
Assume Hw : w ∈ Lm .
Let z be given.
Assume Hz : z ∈ Rm .
Let u be given.
Assume Hu : u ∈ R .
Assume Hwu : w = - u .
Let v be given.
Assume Hv : v ∈ L .
Assume Hzv : z = - v .
We will prove w < z .
rewrite the current goal using Hwu (from left to right).
rewrite the current goal using Hzv (from left to right).
We will prove - u < - v .
We will prove v < u .
An exact proof term for the current goal is HLR3 v Hv u Hu .
∎
Proof:
Let alpha be given.
Apply Ha to the current goal.
Assume Ha1 Ha2 .
Let x be given.
Apply SNoS_E2 alpha Ha x Hx to the current goal.
Set L to be the term
{- z |z ∈ SNoR x } .
Set R to be the term
{- w |w ∈ SNoL x } .
We prove the intermediate
claim LLR :
SNoCutP L R .
rewrite the current goal using
minus_SNo_eq x Hx3 (from left to right).
Assume _ _ _ .
Let w be given.
Assume Hw : w ∈ L .
Let u be given.
Assume Hwu : w = - u .
Apply SNoR_E x Hx3 u Hu to the current goal.
Assume Hu3 : x < u .
rewrite the current goal using Hwu (from left to right).
Let w be given.
Assume Hw : w ∈ R .
Let u be given.
Assume Hwu : w = - u .
Apply SNoL_E x Hx3 u Hu to the current goal.
Assume Hu3 : u < x .
rewrite the current goal using Hwu (from left to right).
Apply L3 to the current goal.
Assume H _ .
An exact proof term for the current goal is H .
Let beta be given.
Assume H4 .
An
exact proof term for the current goal is
L3a (SNoLev (SNoCut L R ) ) H4 beta Hb .
Assume H4 .
rewrite the current goal using H4 (from right to left).
An exact proof term for the current goal is Hb .
Let w be given.
Assume Hw .
Apply Hw to the current goal.
Assume Hw1 : w ∈ L .
Let u be given.
Assume Hwu : w = - u .
Apply SNoR_E x Hx3 u Hu to the current goal.
Assume Hu3 : x < u .
An
exact proof term for the current goal is
SNoS_SNoLev u Hu1 .
We prove the intermediate
claim LsLu :
ordsucc (SNoLev u ) ∈ alpha .
rewrite the current goal using H2 (from right to left).
An exact proof term for the current goal is Hx1 .
We prove the intermediate
claim IHu :
SNoLev (- u ) ⊆ SNoLev u .
An
exact proof term for the current goal is
IH (ordsucc (SNoLev u ) ) LsLu u Lu .
We prove the intermediate
claim Lmu :
SNo (- u ) .
rewrite the current goal using Hwu (from left to right).
An exact proof term for the current goal is LLmu .
An exact proof term for the current goal is H5 .
We prove the intermediate
claim LLub :
SNoLev u ∈ beta .
An
exact proof term for the current goal is
H5 (SNoLev u ) Hu2 .
rewrite the current goal using Hwu (from left to right).
An
exact proof term for the current goal is
IHu beta H5 .
rewrite the current goal using Hwu (from left to right).
Apply IHu (SNoLev u ) to the current goal.
rewrite the current goal using H5 (from right to left).
An exact proof term for the current goal is LLub .
Let w be given.
Assume Hw .
Apply Hw to the current goal.
Assume Hw1 : w ∈ R .
Let u be given.
Assume Hwu : w = - u .
Apply SNoL_E x Hx3 u Hu to the current goal.
Assume Hu3 : u < x .
An
exact proof term for the current goal is
SNoS_SNoLev u Hu1 .
We prove the intermediate
claim LsLu :
ordsucc (SNoLev u ) ∈ alpha .
rewrite the current goal using H2 (from right to left).
An exact proof term for the current goal is Hx1 .
We prove the intermediate
claim IHu :
SNoLev (- u ) ⊆ SNoLev u .
An
exact proof term for the current goal is
IH (ordsucc (SNoLev u ) ) LsLu u Lu .
We prove the intermediate
claim Lmu :
SNo (- u ) .
rewrite the current goal using Hwu (from left to right).
An exact proof term for the current goal is LLmu .
An exact proof term for the current goal is H5 .
We prove the intermediate
claim LLub :
SNoLev u ∈ beta .
An
exact proof term for the current goal is
H5 (SNoLev u ) Hu2 .
rewrite the current goal using Hwu (from left to right).
An
exact proof term for the current goal is
IHu beta H5 .
rewrite the current goal using Hwu (from left to right).
Apply IHu (SNoLev u ) to the current goal.
rewrite the current goal using H5 (from right to left).
An exact proof term for the current goal is LLub .
∎
Proof: Let x be given.
An
exact proof term for the current goal is
SNoS_SNoLev x Hx .
∎
Proof:
Let L and R be given.
Assume IHL : ∀x ∈ L , - - x = x .
Assume IHR : ∀y ∈ R , - - y = y .
Apply HLR to the current goal.
Assume H .
Apply H to the current goal.
Assume HLR3 : ∀x ∈ L , ∀y ∈ R , x < y .
We prove the intermediate
claim LCLR :
SNo (SNoCut L R ) .
We prove the intermediate
claim LmCLR :
SNo (- SNoCut L R ) .
An exact proof term for the current goal is LCLR .
We prove the intermediate
claim LmmCLR :
SNo (- - SNoCut L R ) .
An exact proof term for the current goal is LmCLR .
An exact proof term for the current goal is HLR .
An exact proof term for the current goal is LmmCLR .
We will
prove ∀x ∈ L , x < - - SNoCut L R .
Let x be given.
Assume Hx .
rewrite the current goal using IHL x Hx (from right to left).
We prove the intermediate
claim Lx :
SNo x .
An exact proof term for the current goal is HLR1 x Hx .
We prove the intermediate
claim Lmx :
SNo (- x ) .
We will
prove - - x < - - SNoCut L R .
We will
prove - SNoCut L R < - x .
We will
prove ∀y ∈ R , - - SNoCut L R < y .
Let y be given.
Assume Hy .
rewrite the current goal using IHR y Hy (from right to left).
We prove the intermediate
claim Ly :
SNo y .
An exact proof term for the current goal is HLR2 y Hy .
We prove the intermediate
claim Lmy :
SNo (- y ) .
We will
prove - - SNoCut L R < - - y .
We will
prove - y < - SNoCut L R .
Apply L1 to the current goal.
Use symmetry.
Apply SNo_eq to the current goal.
An exact proof term for the current goal is LCLR .
An exact proof term for the current goal is LmmCLR .
An exact proof term for the current goal is L1a .
An exact proof term for the current goal is L1b .
∎
Proof: Let x be given.
Assume Hx .
rewrite the current goal using
minus_SNo_invol x Hx (from right to left) at position 1.
∎
Proof: Let alpha be given.
Assume Ha .
Let x be given.
We prove the intermediate
claim Lx :
SNo x .
An
exact proof term for the current goal is
SNo_SNo alpha Ha x Hx .
We prove the intermediate
claim Lxa :
SNoLev x = alpha .
An
exact proof term for the current goal is
SNoLev_uniq2 alpha Ha x Hx .
We prove the intermediate
claim Lmxa :
SNoLev (- x ) = alpha .
rewrite the current goal using
minus_SNo_Lev x Lx (from left to right).
An exact proof term for the current goal is Lxa .
We will
prove SNo_ alpha (- x ) .
rewrite the current goal using Lmxa (from right to left).
∎
Proof: Let alpha be given.
Assume Ha .
Let x be given.
Apply SNoS_E2 alpha Ha x Hx to the current goal.
We prove the intermediate
claim Lbmx :
SNo_ (SNoLev x ) (- x ) .
An
exact proof term for the current goal is
SNoS_I alpha Ha (- x ) (SNoLev x ) Hx1 Lbmx .
∎
Proof:
Let v be given.
Let L and R be given.
Apply HLR to the current goal.
Assume HLR1 .
Apply HLR1 to the current goal.
Assume HLR3 : ∀x ∈ L , ∀y ∈ R , x < y .
Set mL to be the term {- w |w ∈ L } .
Set mR to be the term {- z |z ∈ R } .
Set mLv to be the term
{- w |w ∈ SNoL v } .
Set mRv to be the term
{- z |z ∈ SNoR v } .
We prove the intermediate
claim L1 :
SNo (SNoCut L R ) .
We prove the intermediate
claim L2 :
SNoCutP mR mL .
We prove the intermediate claim L3 : ∀x ∈ mR , x < - v .
Let x be given.
Assume Hx : x ∈ mR .
Let z be given.
Assume Hz : z ∈ R .
Assume Hxz : x = - z .
We will prove x < - v .
rewrite the current goal using Hxz (from left to right).
We will prove - z < - v .
We will prove v < z .
rewrite the current goal using HvLR (from left to right).
We prove the intermediate claim L4 : ∀y ∈ mL , - v < y .
Let y be given.
Assume Hy : y ∈ mL .
Let w be given.
Assume Hw : w ∈ L .
Assume Hyw : y = - w .
We will prove - v < y .
rewrite the current goal using Hyw (from left to right).
We will prove - v < - w .
We will prove w < v .
rewrite the current goal using HvLR (from left to right).
An exact proof term for the current goal is H1 .
An exact proof term for the current goal is Hv .
An exact proof term for the current goal is H1 .
An exact proof term for the current goal is Hv .
rewrite the current goal using
minus_SNo_Lev v Hv (from right to left).
An exact proof term for the current goal is H8 .
We prove the intermediate
claim LIH :
- SNoCut mR mL = SNoCut {- z |z ∈ mL } {- w |w ∈ mR } .
An
exact proof term for the current goal is
IHv (SNoCut mR mL ) L7 mR mL L2 (λq H ⇒ H ) .
We prove the intermediate claim L8 : {- z |z ∈ mL } = L .
Let x be given.
Assume Hx : x ∈ L .
We will prove - - x = x .
Let x be given.
Assume Hx : x ∈ L .
An exact proof term for the current goal is Hx .
We prove the intermediate claim L9 : {- z |z ∈ mR } = R .
Let y be given.
Assume Hy : y ∈ R .
We will prove - - y = y .
Let y be given.
Assume Hy : y ∈ R .
An exact proof term for the current goal is Hy .
We prove the intermediate
claim L10 :
- SNoCut mR mL = v .
rewrite the current goal using LIH (from left to right).
rewrite the current goal using L8 (from left to right).
rewrite the current goal using L9 (from left to right).
Use symmetry.
An exact proof term for the current goal is HvLR .
rewrite the current goal using L10 (from right to left) at position 1.
rewrite the current goal using
minus_SNo_Lev v Hv (from right to left).
An exact proof term for the current goal is H8 .
We will
prove - v = SNoCut mR mL .
Use symmetry.
An exact proof term for the current goal is H6 .
An exact proof term for the current goal is H8 .
An exact proof term for the current goal is H7 .
∎
Proof: Let L and R be given.
Assume HLR .
∎
Proof: Let x and y be given.
Assume Hxy : - x < y .
We will prove - y < x .
We will prove - y < - - x .
We will prove - x < y .
An exact proof term for the current goal is Hxy .
∎
Proof: Let x and y be given.
Assume Hxy : x < - y .
We will prove y < - x .
We will prove - - y < - x .
We will prove x < - y .
An exact proof term for the current goal is Hxy .
∎
Proof: Let alpha be given.
Assume Ha .
Let z be given.
We prove the intermediate
claim Lz1 :
SNo (- z ) .
We prove the intermediate
claim Lz2 :
SNoLev (- z ) ∈ ordsucc alpha .
rewrite the current goal using
minus_SNo_Lev z Hz (from left to right).
An exact proof term for the current goal is H1 .
We will prove - alpha ≤ z .
We will prove - alpha ≤ - - z .
We will prove - z ≤ alpha .
∎
Proof: Let x be given.
Assume Hx .
rewrite the current goal using
minus_SNo_Lev x Hx3 (from left to right).
An exact proof term for the current goal is Hx1 .
∎
Proof: Let x be given.
Assume Hx .
We prove the intermediate
claim Lmx :
SNo (- x ) .
Let z be given.
Apply SNoL_E (- x ) Lmx z Hz to the current goal.
rewrite the current goal using
minus_SNo_Lev x Hx (from left to right).
Assume Hz3 : z < - x .
We will
prove z ∈ {- w |w ∈ SNoR x } .
Apply ReplI to the current goal.
We will
prove - z ∈ SNoR x .
rewrite the current goal using
minus_SNo_Lev z Hz1 (from left to right).
An exact proof term for the current goal is Hz2 .
We will prove x < - z .
An exact proof term for the current goal is Hz3 .
Let z be given.
Let w be given.
Assume Hzw : z = - w .
We will
prove z ∈ SNoL (- x ) .
rewrite the current goal using Hzw (from left to right).
We will
prove - w ∈ SNoL (- x ) .
Apply SNoR_E x Hx w Hw to the current goal.
Assume Hw3 : x < w .
rewrite the current goal using
minus_SNo_Lev w Hw1 (from left to right).
rewrite the current goal using
minus_SNo_Lev x Hx (from left to right).
An exact proof term for the current goal is Hw2 .
We will prove - w < - x .
An exact proof term for the current goal is Hw3 .
∎
End of Section SurrealMinus