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.
Definition. We define SNoL_pos to be λx ⇒ {w ∈ SNoL x|0 < w} of type setset.
Theorem. (SNo_recip_pos_pos)
∀x xi, SNo xSNo xi0 < xx * xi = 10 < xi
Proof:
Proof not loaded.
Theorem. (SNo_recip_lem1)
∀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'
Proof:
Proof not loaded.
Theorem. (SNo_recip_lem2)
∀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
Proof:
Proof not loaded.
Theorem. (SNo_recip_lem3)
∀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
Proof:
Proof not loaded.
Theorem. (SNo_recip_lem4)
∀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'
Proof:
Proof not loaded.
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.
Theorem. (SNo_recipauxset_I)
∀Y x X, ∀g : setset, ∀yY, ∀x'X, (1 + (x' + - x) * y) * g x' SNo_recipauxset Y x X g
Proof:
Proof not loaded.
Theorem. (SNo_recipauxset_E)
∀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
Proof:
Proof not loaded.
Theorem. (SNo_recipauxset_ext)
∀Y x X, ∀g h : setset, (∀x'X, g x' = h x')SNo_recipauxset Y x X g = SNo_recipauxset Y x X h
Proof:
Proof not loaded.
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.
Theorem. (SNo_recipaux_0)
∀x, ∀g : setset, SNo_recipaux x g 0 = ({0},0)
Proof:
Proof not loaded.
Theorem. (SNo_recipaux_S)
∀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)
Proof:
Proof not loaded.
Theorem. (SNo_recipaux_lem1)
∀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)
Proof:
Proof not loaded.
Theorem. (SNo_recipaux_lem2)
∀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)
Proof:
Proof not loaded.
Theorem. (SNo_recipaux_ext)
∀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
Proof:
Proof not loaded.
Beginning of Section recip_SNo_pos
Let G : set(setset)setλx g ⇒ SNoCut (k ∈ ωSNo_recipaux x g k 0) (k ∈ ωSNo_recipaux x g k 1)
Definition. We define recip_SNo_pos to be SNo_rec_i G of type setset.
Theorem. (recip_SNo_pos_eq)
∀x, SNo xrecip_SNo_pos x = G x recip_SNo_pos
Proof:
Proof not loaded.
Theorem. (recip_SNo_pos_prop1)
∀x, SNo x0 < xSNo (recip_SNo_pos x)x * recip_SNo_pos x = 1
Proof:
Proof not loaded.
Theorem. (SNo_recip_SNo_pos)
∀x, SNo x0 < xSNo (recip_SNo_pos x)
Proof:
Proof not loaded.
Theorem. (recip_SNo_pos_invR)
∀x, SNo x0 < xx * recip_SNo_pos x = 1
Proof:
Proof not loaded.
Proof:
Proof not loaded.
Theorem. (recip_SNo_pos_is_pos)
∀x, SNo x0 < x0 < recip_SNo_pos x
Proof:
Proof not loaded.
Theorem. (recip_SNo_pos_invol)
∀x, SNo x0 < xrecip_SNo_pos (recip_SNo_pos x) = x
Proof:
Proof not loaded.
Theorem. (recip_SNo_pos_eps_)
∀n, nat_p nrecip_SNo_pos (eps_ n) = 2 ^ n
Proof:
Proof not loaded.
Theorem. (recip_SNo_pos_pow_2)
∀n, nat_p nrecip_SNo_pos (2 ^ n) = eps_ n
Proof:
Proof not loaded.
Theorem. (recip_SNo_pos_2)
recip_SNo_pos 2 = eps_ 1
Proof:
Proof not loaded.
End of Section recip_SNo_pos
Definition. We define recip_SNo to be λx ⇒ if 0 < x then recip_SNo_pos x else if x < 0 then - recip_SNo_pos (- x) else 0 of type setset.
Theorem. (recip_SNo_poscase)
∀x, 0 < xrecip_SNo x = recip_SNo_pos x
Proof:
Proof not loaded.
Theorem. (recip_SNo_negcase)
∀x, SNo xx < 0recip_SNo x = - recip_SNo_pos (- x)
Proof:
Proof not loaded.
Theorem. (recip_SNo_0)
recip_SNo 0 = 0
Proof:
Proof not loaded.
Theorem. (recip_SNo_1)
recip_SNo 1 = 1
Proof:
Proof not loaded.
Theorem. (SNo_recip_SNo)
∀x, SNo xSNo (recip_SNo x)
Proof:
Proof not loaded.
Theorem. (recip_SNo_invR)
∀x, SNo xx0x * recip_SNo x = 1
Proof:
Proof not loaded.
Theorem. (recip_SNo_invL)
∀x, SNo xx0recip_SNo x * x = 1
Proof:
Proof not loaded.
Theorem. (recip_SNo_eps_)
∀n, nat_p nrecip_SNo (eps_ n) = 2 ^ n
Proof:
Proof not loaded.
Theorem. (recip_SNo_pow_2)
∀n, nat_p nrecip_SNo (2 ^ n) = eps_ n
Proof:
Proof not loaded.
Theorem. (recip_SNo_2)
recip_SNo 2 = eps_ 1
Proof:
Proof not loaded.
Theorem. (recip_SNo_invol)
∀x, SNo xrecip_SNo (recip_SNo x) = x
Proof:
Proof not loaded.
Theorem. (recip_SNo_of_pos_is_pos)
∀x, SNo x0 < x0 < recip_SNo x
Proof:
Proof not loaded.
Theorem. (recip_SNo_neg')
∀x, SNo xx < 0recip_SNo x < 0
Proof:
Proof not loaded.
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.
Theorem. (SNo_div_SNo)
∀x y, SNo xSNo ySNo (x :/: y)
Proof:
Proof not loaded.
Theorem. (div_SNo_0_num)
∀x, SNo x0 :/: x = 0
Proof:
Proof not loaded.
Theorem. (div_SNo_0_denum)
∀x, SNo xx :/: 0 = 0
Proof:
Proof not loaded.
Theorem. (mul_div_SNo_invL)
∀x y, SNo xSNo yy0(x :/: y) * y = x
Proof:
Proof not loaded.
Theorem. (mul_div_SNo_invR)
∀x y, SNo xSNo yy0y * (x :/: y) = x
Proof:
Proof not loaded.
Theorem. (mul_div_SNo_R)
∀x y z, SNo xSNo ySNo z(x :/: y) * z = (x * z) :/: y
Proof:
Proof not loaded.
Theorem. (mul_div_SNo_L)
∀x y z, SNo xSNo ySNo zz * (x :/: y) = (z * x) :/: y
Proof:
Proof not loaded.
Theorem. (div_mul_SNo_invL)
∀x y, SNo xSNo yy0(x * y) :/: y = x
Proof:
Proof not loaded.
Theorem. (div_div_SNo)
∀x y z, SNo xSNo ySNo z(x :/: y) :/: z = x :/: (y * z)
Proof:
Proof not loaded.
Theorem. (mul_div_SNo_both)
∀x y z w, SNo xSNo ySNo zSNo w(x :/: y) * (z :/: w) = (x * z) :/: (y * w)
Proof:
Proof not loaded.
Theorem. (recip_SNo_pos_pos)
∀x, SNo x0 < x0 < recip_SNo_pos x
Proof:
Proof not loaded.
Theorem. (recip_SNo_of_neg_is_neg)
∀x, SNo xx < 0recip_SNo x < 0
Proof:
Proof not loaded.
Theorem. (div_SNo_pos_pos)
∀x y, SNo xSNo y0 < x0 < y0 < x :/: y
Proof:
Proof not loaded.
Theorem. (div_SNo_neg_neg)
∀x y, SNo xSNo yx < 0y < 00 < x :/: y
Proof:
Proof not loaded.
Theorem. (div_SNo_pos_neg)
∀x y, SNo xSNo y0 < xy < 0x :/: y < 0
Proof:
Proof not loaded.
Theorem. (div_SNo_neg_pos)
∀x y, SNo xSNo yx < 00 < yx :/: y < 0
Proof:
Proof not loaded.
Theorem. (div_SNo_pos_LtL)
∀x y z, SNo xSNo ySNo z0 < yx < z * yx :/: y < z
Proof:
Proof not loaded.
Theorem. (div_SNo_pos_LtR)
∀x y z, SNo xSNo ySNo z0 < yz * y < xz < x :/: y
Proof:
Proof not loaded.
Theorem. (div_SNo_pos_LtL')
∀x y z, SNo xSNo ySNo z0 < yx :/: y < zx < z * y
Proof:
Proof not loaded.
Theorem. (div_SNo_pos_LtR')
∀x y z, SNo xSNo ySNo z0 < yz < x :/: yz * y < x
Proof:
Proof not loaded.
Theorem. (mul_div_SNo_nonzero_eq)
∀x y z, SNo xSNo ySNo zy0x = y * zx :/: y = z
Proof:
Proof not loaded.
End of Section SurrealDiv