Beginning of Section SurrealDiv
Notation. We use - as a prefix operator with priority 358 corresponding to applying term minus_SNo.
Notation. We use + as an infix operator with priority 360 and which associates to the right corresponding to applying term add_SNo.
Notation. We use * as an infix operator with priority 355 and which associates to the right corresponding to applying term mul_SNo.
Notation. We use < as an infix operator with priority 490 and no associativity corresponding to applying term SNoLt.
Notation. We use ≤ as an infix operator with priority 490 and no associativity corresponding to applying term SNoLe.
Notation. We use ^ as an infix operator with priority 342 and which associates to the right corresponding to applying term exp_SNo_nat.
L16
Definition. We define SNoL_pos to be λx ⇒ {w ∈ SNoL x|0 < w} of type set → set.
L17
Axiom. (SNo_recip_pos_pos) We take the following as an axiom:
∀x xi, SNo x → SNo xi → 0 < x → x * xi = 1 → 0 < xi
L18
Axiom. (SNo_recip_lem1) We take the following as an axiom:
∀x x' x'i y y', SNo x → 0 < x → x' ∈ SNoL_pos x → SNo x'i → x' * x'i = 1 → SNo y → x * y < 1 → SNo y' → 1 + - x * y' = (1 + - x * y) * (x' + - x) * x'i → 1 < x * y'
L19
Axiom. (SNo_recip_lem2) We take the following as an axiom:
∀x x' x'i y y', SNo x → 0 < x → x' ∈ SNoL_pos x → SNo x'i → x' * x'i = 1 → SNo y → 1 < x * y → SNo y' → 1 + - x * y' = (1 + - x * y) * (x' + - x) * x'i → x * y' < 1
L20
Axiom. (SNo_recip_lem3) We take the following as an axiom:
∀x x' x'i y y', SNo x → 0 < x → x' ∈ SNoR x → SNo x'i → x' * x'i = 1 → SNo y → x * y < 1 → SNo y' → 1 + - x * y' = (1 + - x * y) * (x' + - x) * x'i → x * y' < 1
L21
Axiom. (SNo_recip_lem4) We take the following as an axiom:
∀x x' x'i y y', SNo x → 0 < x → x' ∈ SNoR x → SNo x'i → x' * x'i = 1 → SNo y → 1 < x * y → SNo y' → 1 + - x * y' = (1 + - x * y) * (x' + - x) * x'i → 1 < x * y'
L22
Definition. We define SNo_recipauxset to be λY x X g ⇒ ⋃y ∈ Y{(1 + (x' + - x) * y) * g x'|x' ∈ X} of type set → set → set → (set → set) → set.
L23
Axiom. (SNo_recipauxset_I) We take the following as an axiom:
∀Y x X, ∀g : set → set, ∀y ∈ Y, ∀x' ∈ X, (1 + (x' + - x) * y) * g x' ∈ SNo_recipauxset Y x X g
L24
Axiom. (SNo_recipauxset_E) We take the following as an axiom:
∀Y x X, ∀g : set → set, ∀z ∈ SNo_recipauxset Y x X g, ∀p : prop, (∀y ∈ Y, ∀x' ∈ X, z = (1 + (x' + - x) * y) * g x' → p) → p
L25
Axiom. (SNo_recipauxset_ext) We take the following as an axiom:
∀Y x X, ∀g h : set → set, (∀x' ∈ X, g x' = h x') → SNo_recipauxset Y x X g = SNo_recipauxset Y x X h
L26
Definition. We define SNo_recipaux to be λx g ⇒ nat_primrec ({0},0) (λk p ⇒ (p 0 ∪ SNo_recipauxset (p 0) x (SNoR x) g ∪ SNo_recipauxset (p 1) x (SNoL_pos x) g,p 1 ∪ SNo_recipauxset (p 0) x (SNoL_pos x) g ∪ SNo_recipauxset (p 1) x (SNoR x) g)) of type set → (set → set) → set → set.
L27
Axiom. (SNo_recipaux_0) We take the following as an axiom:
∀x, ∀g : set → set, SNo_recipaux x g 0 = ({0},0)
L28
Axiom. (SNo_recipaux_S) We take the following as an axiom:
∀x, ∀g : set → set, ∀n, nat_p n → SNo_recipaux x g (ordsucc n) = (SNo_recipaux x g n 0 ∪ SNo_recipauxset (SNo_recipaux x g n 0) x (SNoR x) g ∪ SNo_recipauxset (SNo_recipaux x g n 1) x (SNoL_pos x) g,SNo_recipaux x g n 1 ∪ SNo_recipauxset (SNo_recipaux x g n 0) x (SNoL_pos x) g ∪ SNo_recipauxset (SNo_recipaux x g n 1) x (SNoR x) g)
L29
Axiom. (SNo_recipaux_lem1) We take the following as an axiom:
∀x, SNo x → 0 < x → ∀g : set → set, (∀x' ∈ SNoS_ (SNoLev x), 0 < x' → SNo (g x') ∧ x' * g x' = 1) → ∀k, nat_p k → (∀y ∈ SNo_recipaux x g k 0, SNo y ∧ x * y < 1) ∧ (∀y ∈ SNo_recipaux x g k 1, SNo y ∧ 1 < x * y)
L30
Axiom. (SNo_recipaux_lem2) We take the following as an axiom:
∀x, SNo x → 0 < x → ∀g : set → set, (∀x' ∈ SNoS_ (SNoLev x), 0 < x' → SNo (g x') ∧ x' * g x' = 1) → SNoCutP (⋃k ∈ ωSNo_recipaux x g k 0) (⋃k ∈ ωSNo_recipaux x g k 1)
L31
Axiom. (SNo_recipaux_ext) We take the following as an axiom:
∀x, SNo x → ∀g h : set → set, (∀x' ∈ SNoS_ (SNoLev x), g x' = h x') → ∀k, nat_p k → SNo_recipaux x g k = SNo_recipaux x h k
Beginning of Section recip_SNo_pos
L33
Let G : set → (set → set) → set ≝ λx g ⇒ SNoCut (⋃k ∈ ωSNo_recipaux x g k 0) (⋃k ∈ ωSNo_recipaux x g k 1)
Primitive. The name recip_SNo_pos is a term of type set → set.
L36
Axiom. (recip_SNo_pos_eq) We take the following as an axiom:
∀x, SNo x → recip_SNo_pos x = G x recip_SNo_pos
L37
Axiom. (recip_SNo_pos_prop1) We take the following as an axiom:
∀x, SNo x → 0 < x → SNo (recip_SNo_pos x) ∧ x * recip_SNo_pos x = 1
L38
Axiom. (SNo_recip_SNo_pos) We take the following as an axiom:
∀x, SNo x → 0 < x → SNo (recip_SNo_pos x)
L39
Axiom. (recip_SNo_pos_invR) We take the following as an axiom:
∀x, SNo x → 0 < x → x * recip_SNo_pos x = 1
L40
Axiom. (recip_SNo_pos_1) We take the following as an axiom:
L41
Axiom. (recip_SNo_pos_is_pos) We take the following as an axiom:
∀x, SNo x → 0 < x → 0 < recip_SNo_pos x
L42
Axiom. (recip_SNo_pos_invol) We take the following as an axiom:
∀x, SNo x → 0 < x → recip_SNo_pos (recip_SNo_pos x) = x
L43
Axiom. (recip_SNo_pos_eps_) We take the following as an axiom:
∀n, nat_p n → recip_SNo_pos (eps_ n) = 2 ^ n
L44
Axiom. (recip_SNo_pos_pow_2) We take the following as an axiom:
∀n, nat_p n → recip_SNo_pos (2 ^ n) = eps_ n
L45
Axiom. (recip_SNo_pos_2) We take the following as an axiom:
recip_SNo_pos 2 = eps_ 1
End of Section recip_SNo_pos
Primitive. The name recip_SNo is a term of type set → set.
L49
Axiom. (recip_SNo_poscase) We take the following as an axiom:
∀x, 0 < x → recip_SNo x = recip_SNo_pos x
L50
Axiom. (recip_SNo_negcase) We take the following as an axiom:
∀x, SNo x → x < 0 → recip_SNo x = - recip_SNo_pos (- x)
L51
Axiom. (recip_SNo_0) We take the following as an axiom:
recip_SNo 0 = 0
L52
Axiom. (recip_SNo_1) We take the following as an axiom:
recip_SNo 1 = 1
L53
Axiom. (SNo_recip_SNo) We take the following as an axiom:
∀x, SNo x → SNo (recip_SNo x)
L54
Axiom. (recip_SNo_invR) We take the following as an axiom:
∀x, SNo x → x ≠ 0 → x * recip_SNo x = 1
L55
Axiom. (recip_SNo_invL) We take the following as an axiom:
∀x, SNo x → x ≠ 0 → recip_SNo x * x = 1
L56
Axiom. (recip_SNo_eps_) We take the following as an axiom:
∀n, nat_p n → recip_SNo (eps_ n) = 2 ^ n
L57
Axiom. (recip_SNo_pow_2) We take the following as an axiom:
∀n, nat_p n → recip_SNo (2 ^ n) = eps_ n
L58
Axiom. (recip_SNo_2) We take the following as an axiom:
recip_SNo 2 = eps_ 1
L59
Axiom. (recip_SNo_invol) We take the following as an axiom:
∀x, SNo x → recip_SNo (recip_SNo x) = x
L60
Axiom. (recip_SNo_of_pos_is_pos) We take the following as an axiom:
∀x, SNo x → 0 < x → 0 < recip_SNo x
L61
Axiom. (recip_SNo_neg') We take the following as an axiom:
∀x, SNo x → x < 0 → recip_SNo x < 0
L63
Definition. We define div_SNo to be λx y ⇒ x * recip_SNo y of type set → set → set.
Notation. We use :/: as an infix operator with priority 353 and no associativity corresponding to applying term div_SNo.
L65
Axiom. (SNo_div_SNo) We take the following as an axiom:
∀x y, SNo x → SNo y → SNo (x :/: y)
L66
Axiom. (div_SNo_0_num) We take the following as an axiom:
∀x, SNo x → 0 :/: x = 0
L67
Axiom. (div_SNo_0_denum) We take the following as an axiom:
∀x, SNo x → x :/: 0 = 0
L68
Axiom. (mul_div_SNo_invL) We take the following as an axiom:
∀x y, SNo x → SNo y → y ≠ 0 → (x :/: y) * y = x
L69
Axiom. (mul_div_SNo_invR) We take the following as an axiom:
∀x y, SNo x → SNo y → y ≠ 0 → y * (x :/: y) = x
L70
Axiom. (mul_div_SNo_R) We take the following as an axiom:
∀x y z, SNo x → SNo y → SNo z → (x :/: y) * z = (x * z) :/: y
L71
Axiom. (mul_div_SNo_L) We take the following as an axiom:
∀x y z, SNo x → SNo y → SNo z → z * (x :/: y) = (z * x) :/: y
L72
Axiom. (div_mul_SNo_invL) We take the following as an axiom:
∀x y, SNo x → SNo y → y ≠ 0 → (x * y) :/: y = x
L73
Axiom. (div_div_SNo) We take the following as an axiom:
∀x y z, SNo x → SNo y → SNo z → (x :/: y) :/: z = x :/: (y * z)
L74
Axiom. (mul_div_SNo_both) 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)
L75
Axiom. (recip_SNo_pos_pos) We take the following as an axiom:
∀x, SNo x → 0 < x → 0 < recip_SNo_pos x
L76
Axiom. (recip_SNo_of_neg_is_neg) We take the following as an axiom:
∀x, SNo x → x < 0 → recip_SNo x < 0
L77
Axiom. (div_SNo_pos_pos) We take the following as an axiom:
∀x y, SNo x → SNo y → 0 < x → 0 < y → 0 < x :/: y
L78
Axiom. (div_SNo_neg_neg) We take the following as an axiom:
∀x y, SNo x → SNo y → x < 0 → y < 0 → 0 < x :/: y
L79
Axiom. (div_SNo_pos_neg) We take the following as an axiom:
∀x y, SNo x → SNo y → 0 < x → y < 0 → x :/: y < 0
L80
Axiom. (div_SNo_neg_pos) We take the following as an axiom:
∀x y, SNo x → SNo y → x < 0 → 0 < y → x :/: y < 0
L81
Axiom. (div_SNo_pos_LtL) We take the following as an axiom:
∀x y z, SNo x → SNo y → SNo z → 0 < y → x < z * y → x :/: y < z
L82
Axiom. (div_SNo_pos_LtR) We take the following as an axiom:
∀x y z, SNo x → SNo y → SNo z → 0 < y → z * y < x → z < x :/: y
L83
Axiom. (div_SNo_pos_LtL') We take the following as an axiom:
∀x y z, SNo x → SNo y → SNo z → 0 < y → x :/: y < z → x < z * y
L84
Axiom. (div_SNo_pos_LtR') We take the following as an axiom:
∀x y z, SNo x → SNo y → SNo z → 0 < y → z < x :/: y → z * y < x
L85
Axiom. (mul_div_SNo_nonzero_eq) We take the following as an axiom:
∀x y z, SNo x → SNo y → SNo z → y ≠ 0 → x = y * z → x :/: y = z
End of Section SurrealDiv