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 setset.
L17
Axiom. (SNo_recip_pos_pos) We take the following as an axiom:
∀x xi, SNo xSNo xi0 < xx * xi = 10 < xi
L18
Axiom. (SNo_recip_lem1) We take the following as an axiom:
∀x x' x'i y y', SNo x0 < xx' SNoL_pos xSNo x'ix' * x'i = 1SNo yx * y < 1SNo y'1 + - x * y' = (1 + - x * y) * (x' + - x) * x'i1 < x * y'
L19
Axiom. (SNo_recip_lem2) We take the following as an axiom:
∀x x' x'i y y', SNo x0 < xx' SNoL_pos xSNo x'ix' * x'i = 1SNo y1 < x * ySNo y'1 + - x * y' = (1 + - x * y) * (x' + - x) * x'ix * y' < 1
L20
Axiom. (SNo_recip_lem3) We take the following as an axiom:
∀x x' x'i y y', SNo x0 < xx' SNoR xSNo x'ix' * x'i = 1SNo yx * y < 1SNo y'1 + - x * y' = (1 + - x * y) * (x' + - x) * x'ix * y' < 1
L21
Axiom. (SNo_recip_lem4) We take the following as an axiom:
∀x x' x'i y y', SNo x0 < xx' SNoR xSNo x'ix' * x'i = 1SNo y1 < x * ySNo y'1 + - x * y' = (1 + - x * y) * (x' + - x) * x'i1 < x * y'
L22
Definition. We define SNo_recipauxset to be λY x X g ⇒ y ∈ Y{(1 + (x' + - x) * y) * g x'|x' ∈ X} of type setsetset(setset)set.
L23
Axiom. (SNo_recipauxset_I) We take the following as an axiom:
∀Y x X, ∀g : setset, ∀yY, ∀x'X, (1 + (x' + - x) * y) * g x' SNo_recipauxset Y x X g
L24
Axiom. (SNo_recipauxset_E) We take the following as an axiom:
∀Y x X, ∀g : setset, ∀zSNo_recipauxset Y x X g, ∀p : prop, (∀yY, ∀x'X, z = (1 + (x' + - x) * y) * g x'p)p
L25
Axiom. (SNo_recipauxset_ext) We take the following as an axiom:
∀Y x X, ∀g h : setset, (∀x'X, g x' = h x')SNo_recipauxset Y x X g = SNo_recipauxset Y x X h
L26
Definition. We define SNo_recipaux to be λx g ⇒ nat_primrec ({0},0) (λk p ⇒ (p 0SNo_recipauxset (p 0) x (SNoR x) gSNo_recipauxset (p 1) x (SNoL_pos x) g,p 1SNo_recipauxset (p 0) x (SNoL_pos x) gSNo_recipauxset (p 1) x (SNoR x) g)) of type set(setset)setset.
L27
Axiom. (SNo_recipaux_0) We take the following as an axiom:
∀x, ∀g : setset, SNo_recipaux x g 0 = ({0},0)
L28
Axiom. (SNo_recipaux_S) We take the following as an axiom:
∀x, ∀g : setset, ∀n, nat_p nSNo_recipaux x g (ordsucc n) = (SNo_recipaux x g n 0SNo_recipauxset (SNo_recipaux x g n 0) x (SNoR x) gSNo_recipauxset (SNo_recipaux x g n 1) x (SNoL_pos x) g,SNo_recipaux x g n 1SNo_recipauxset (SNo_recipaux x g n 0) x (SNoL_pos x) gSNo_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 x0 < x∀g : setset, (∀x'SNoS_ (SNoLev x), 0 < x'SNo (g x')x' * g x' = 1)∀k, nat_p k(∀ySNo_recipaux x g k 0, SNo yx * y < 1)(∀ySNo_recipaux x g k 1, SNo y1 < x * y)
L30
Axiom. (SNo_recipaux_lem2) We take the following as an axiom:
∀x, SNo x0 < x∀g : setset, (∀x'SNoS_ (SNoLev x), 0 < x'SNo (g x')x' * g x' = 1)SNoCutP (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 : setset, (∀x'SNoS_ (SNoLev x), g x' = h x')∀k, nat_p kSNo_recipaux x g k = SNo_recipaux x h k
Beginning of Section recip_SNo_pos
L33
Let G : set(setset)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 setset.
L36
Axiom. (recip_SNo_pos_eq) We take the following as an axiom:
∀x, SNo xrecip_SNo_pos x = G x recip_SNo_pos
L37
Axiom. (recip_SNo_pos_prop1) We take the following as an axiom:
∀x, SNo x0 < xSNo (recip_SNo_pos x)x * recip_SNo_pos x = 1
L38
Axiom. (SNo_recip_SNo_pos) We take the following as an axiom:
∀x, SNo x0 < xSNo (recip_SNo_pos x)
L39
Axiom. (recip_SNo_pos_invR) We take the following as an axiom:
∀x, SNo x0 < xx * 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 x0 < x0 < recip_SNo_pos x
L42
Axiom. (recip_SNo_pos_invol) We take the following as an axiom:
∀x, SNo x0 < xrecip_SNo_pos (recip_SNo_pos x) = x
L43
Axiom. (recip_SNo_pos_eps_) We take the following as an axiom:
∀n, nat_p nrecip_SNo_pos (eps_ n) = 2 ^ n
L44
Axiom. (recip_SNo_pos_pow_2) We take the following as an axiom:
∀n, nat_p nrecip_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 setset.
L49
Axiom. (recip_SNo_poscase) We take the following as an axiom:
∀x, 0 < xrecip_SNo x = recip_SNo_pos x
L50
Axiom. (recip_SNo_negcase) We take the following as an axiom:
∀x, SNo xx < 0recip_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 xSNo (recip_SNo x)
L54
Axiom. (recip_SNo_invR) We take the following as an axiom:
∀x, SNo xx0x * recip_SNo x = 1
L55
Axiom. (recip_SNo_invL) We take the following as an axiom:
∀x, SNo xx0recip_SNo x * x = 1
L56
Axiom. (recip_SNo_eps_) We take the following as an axiom:
∀n, nat_p nrecip_SNo (eps_ n) = 2 ^ n
L57
Axiom. (recip_SNo_pow_2) We take the following as an axiom:
∀n, nat_p nrecip_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 xrecip_SNo (recip_SNo x) = x
L60
Axiom. (recip_SNo_of_pos_is_pos) We take the following as an axiom:
∀x, SNo x0 < x0 < recip_SNo x
L61
Axiom. (recip_SNo_neg') We take the following as an axiom:
∀x, SNo xx < 0recip_SNo x < 0
L63
Definition. We define div_SNo to be λx y ⇒ x * recip_SNo y of type setsetset.
Notation. We use :/: as an infix operator with priority 353 and no associativity corresponding to applying term div_SNo.
L65
Axiom. (SNo_div_SNo) We take the following as an axiom:
∀x y, SNo xSNo ySNo (x :/: y)
L66
Axiom. (div_SNo_0_num) We take the following as an axiom:
∀x, SNo x0 :/: x = 0
L67
Axiom. (div_SNo_0_denum) We take the following as an axiom:
∀x, SNo xx :/: 0 = 0
L68
Axiom. (mul_div_SNo_invL) We take the following as an axiom:
∀x y, SNo xSNo yy0(x :/: y) * y = x
L69
Axiom. (mul_div_SNo_invR) We take the following as an axiom:
∀x y, SNo xSNo yy0y * (x :/: y) = x
L70
Axiom. (mul_div_SNo_R) We take the following as an axiom:
∀x y z, SNo xSNo ySNo z(x :/: y) * z = (x * z) :/: y
L71
Axiom. (mul_div_SNo_L) We take the following as an axiom:
∀x y z, SNo xSNo ySNo zz * (x :/: y) = (z * x) :/: y
L72
Axiom. (div_mul_SNo_invL) We take the following as an axiom:
∀x y, SNo xSNo yy0(x * y) :/: y = x
L73
Axiom. (div_div_SNo) We take the following as an axiom:
∀x y z, SNo xSNo ySNo 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 xSNo ySNo zSNo w(x :/: y) * (z :/: w) = (x * z) :/: (y * w)
L75
Axiom. (recip_SNo_pos_pos) We take the following as an axiom:
∀x, SNo x0 < x0 < recip_SNo_pos x
L76
Axiom. (recip_SNo_of_neg_is_neg) We take the following as an axiom:
∀x, SNo xx < 0recip_SNo x < 0
L77
Axiom. (div_SNo_pos_pos) We take the following as an axiom:
∀x y, SNo xSNo y0 < x0 < y0 < x :/: y
L78
Axiom. (div_SNo_neg_neg) We take the following as an axiom:
∀x y, SNo xSNo yx < 0y < 00 < x :/: y
L79
Axiom. (div_SNo_pos_neg) We take the following as an axiom:
∀x y, SNo xSNo y0 < xy < 0x :/: y < 0
L80
Axiom. (div_SNo_neg_pos) We take the following as an axiom:
∀x y, SNo xSNo yx < 00 < yx :/: y < 0
L81
Axiom. (div_SNo_pos_LtL) We take the following as an axiom:
∀x y z, SNo xSNo ySNo z0 < yx < z * yx :/: y < z
L82
Axiom. (div_SNo_pos_LtR) We take the following as an axiom:
∀x y z, SNo xSNo ySNo z0 < yz * y < xz < x :/: y
L83
Axiom. (div_SNo_pos_LtL') We take the following as an axiom:
∀x y z, SNo xSNo ySNo z0 < yx :/: y < zx < z * y
L84
Axiom. (div_SNo_pos_LtR') We take the following as an axiom:
∀x y z, SNo xSNo ySNo z0 < yz < x :/: yz * y < x
L85
Axiom. (mul_div_SNo_nonzero_eq) We take the following as an axiom:
∀x y z, SNo xSNo ySNo zy0x = y * zx :/: y = z
End of Section SurrealDiv