Beginning of Section SurrealSqrt
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 353 and no associativity corresponding to applying term div_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_nonneg to be λx ⇒ {w ∈ SNoL x|0 w} of type setset.
Axiom. (SNoL_nonneg_0) We take the following as an axiom:
Axiom. (SNoL_nonneg_1) We take the following as an axiom:
Definition. We define SNo_sqrtauxset to be λY Z x ⇒ y ∈ Y{(x + y * z) :/: (y + z)|z ∈ Z, 0 < y + z} of type setsetsetset.
Axiom. (SNo_sqrtauxset_I) We take the following as an axiom:
∀Y Z x, ∀yY, ∀zZ, 0 < y + z(x + y * z) :/: (y + z) SNo_sqrtauxset Y Z x
Axiom. (SNo_sqrtauxset_E) We take the following as an axiom:
∀Y Z x, ∀uSNo_sqrtauxset Y Z x, ∀p : prop, (∀yY, ∀zZ, 0 < y + zu = (x + y * z) :/: (y + z)p)p
Axiom. (SNo_sqrtauxset_0) We take the following as an axiom:
∀Z x, SNo_sqrtauxset 0 Z x = 0
Axiom. (SNo_sqrtauxset_0') We take the following as an axiom:
∀Y x, SNo_sqrtauxset Y 0 x = 0
Definition. We define SNo_sqrtaux to be λx g ⇒ nat_primrec ({g w|w ∈ SNoL_nonneg x},{g z|z ∈ SNoR x}) (λk p ⇒ (p 0SNo_sqrtauxset (p 0) (p 1) x,p 1SNo_sqrtauxset (p 0) (p 0) xSNo_sqrtauxset (p 1) (p 1) x)) of type set(setset)setset.
Axiom. (SNo_sqrtaux_0) We take the following as an axiom:
∀x, ∀g : setset, SNo_sqrtaux x g 0 = ({g w|w ∈ SNoL_nonneg x},{g z|z ∈ SNoR x})
Axiom. (SNo_sqrtaux_S) We take the following as an axiom:
∀x, ∀g : setset, ∀n, nat_p nSNo_sqrtaux x g (ordsucc n) = (SNo_sqrtaux x g n 0SNo_sqrtauxset (SNo_sqrtaux x g n 0) (SNo_sqrtaux x g n 1) x,SNo_sqrtaux x g n 1SNo_sqrtauxset (SNo_sqrtaux x g n 0) (SNo_sqrtaux x g n 0) xSNo_sqrtauxset (SNo_sqrtaux x g n 1) (SNo_sqrtaux x g n 1) x)
Axiom. (SNo_sqrtaux_mon_lem) We take the following as an axiom:
∀x, ∀g : setset, ∀m, nat_p m∀n, nat_p nSNo_sqrtaux x g m 0 SNo_sqrtaux x g (add_nat m n) 0SNo_sqrtaux x g m 1 SNo_sqrtaux x g (add_nat m n) 1
Axiom. (SNo_sqrtaux_mon) We take the following as an axiom:
∀x, ∀g : setset, ∀m, nat_p m∀n, nat_p nm nSNo_sqrtaux x g m 0 SNo_sqrtaux x g n 0SNo_sqrtaux x g m 1 SNo_sqrtaux x g n 1
Axiom. (SNo_sqrtaux_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_sqrtaux x g k = SNo_sqrtaux x h k
Beginning of Section sqrt_SNo_nonneg
Let G : set(setset)setλx g ⇒ SNoCut (k ∈ ωSNo_sqrtaux x g k 0) (k ∈ ωSNo_sqrtaux x g k 1)
Definition. We define sqrt_SNo_nonneg to be SNo_rec_i G of type setset.
Axiom. (sqrt_SNo_nonneg_eq) We take the following as an axiom:
∀x, SNo xsqrt_SNo_nonneg x = G x sqrt_SNo_nonneg
Axiom. (sqrt_SNo_nonneg_prop1a) We take the following as an axiom:
∀x, SNo x0 x(∀wSNoS_ (SNoLev x), 0 wSNo (sqrt_SNo_nonneg w)0 sqrt_SNo_nonneg wsqrt_SNo_nonneg w * sqrt_SNo_nonneg w = w)∀k, nat_p k(∀ySNo_sqrtaux x sqrt_SNo_nonneg k 0, SNo y0 yy * y < x)(∀ySNo_sqrtaux x sqrt_SNo_nonneg k 1, SNo y0 yx < y * y)
Axiom. (sqrt_SNo_nonneg_prop1b) We take the following as an axiom:
∀x, SNo x0 x(∀k, nat_p k(∀ySNo_sqrtaux x sqrt_SNo_nonneg k 0, SNo y0 yy * y < x)(∀ySNo_sqrtaux x sqrt_SNo_nonneg k 1, SNo y0 yx < y * y))SNoCutP (k ∈ ωSNo_sqrtaux x sqrt_SNo_nonneg k 0) (k ∈ ωSNo_sqrtaux x sqrt_SNo_nonneg k 1)
Axiom. (sqrt_SNo_nonneg_prop1c) We take the following as an axiom:
∀x, SNo x0 xSNoCutP (k ∈ ωSNo_sqrtaux x sqrt_SNo_nonneg k 0) (k ∈ ωSNo_sqrtaux x sqrt_SNo_nonneg k 1)(∀z(k ∈ ωSNo_sqrtaux x sqrt_SNo_nonneg k 1), ∀p : prop, (SNo z0 zx < z * zp)p)0 G x sqrt_SNo_nonneg
Axiom. (sqrt_SNo_nonneg_prop1d) We take the following as an axiom:
∀x, SNo x0 x(∀wSNoS_ (SNoLev x), 0 wSNo (sqrt_SNo_nonneg w)0 sqrt_SNo_nonneg wsqrt_SNo_nonneg w * sqrt_SNo_nonneg w = w)SNoCutP (k ∈ ωSNo_sqrtaux x sqrt_SNo_nonneg k 0) (k ∈ ωSNo_sqrtaux x sqrt_SNo_nonneg k 1)0 G x sqrt_SNo_nonnegG x sqrt_SNo_nonneg * G x sqrt_SNo_nonneg < xFalse
Axiom. (sqrt_SNo_nonneg_prop1e) We take the following as an axiom:
∀x, SNo x0 x(∀wSNoS_ (SNoLev x), 0 wSNo (sqrt_SNo_nonneg w)0 sqrt_SNo_nonneg wsqrt_SNo_nonneg w * sqrt_SNo_nonneg w = w)SNoCutP (k ∈ ωSNo_sqrtaux x sqrt_SNo_nonneg k 0) (k ∈ ωSNo_sqrtaux x sqrt_SNo_nonneg k 1)0 G x sqrt_SNo_nonnegx < G x sqrt_SNo_nonneg * G x sqrt_SNo_nonnegFalse
Axiom. (sqrt_SNo_nonneg_prop1) We take the following as an axiom:
∀x, SNo x0 xSNo (sqrt_SNo_nonneg x)0 sqrt_SNo_nonneg xsqrt_SNo_nonneg x * sqrt_SNo_nonneg x = x
End of Section sqrt_SNo_nonneg
Axiom. (SNo_sqrtaux_0_1_prop) We take the following as an axiom:
∀x, SNo x0 x∀k, nat_p k(∀ySNo_sqrtaux x sqrt_SNo_nonneg k 0, SNo y0 yy * y < x)(∀ySNo_sqrtaux x sqrt_SNo_nonneg k 1, SNo y0 yx < y * y)
Axiom. (SNo_sqrtaux_0_prop) We take the following as an axiom:
∀x, SNo x0 x∀k, nat_p k∀ySNo_sqrtaux x sqrt_SNo_nonneg k 0, SNo y0 yy * y < x
Axiom. (SNo_sqrtaux_1_prop) We take the following as an axiom:
∀x, SNo x0 x∀k, nat_p k∀ySNo_sqrtaux x sqrt_SNo_nonneg k 1, SNo y0 yx < y * y
Axiom. (SNo_sqrt_SNo_SNoCutP) We take the following as an axiom:
∀x, SNo x0 xSNoCutP (k ∈ ωSNo_sqrtaux x sqrt_SNo_nonneg k 0) (k ∈ ωSNo_sqrtaux x sqrt_SNo_nonneg k 1)
Axiom. (SNo_sqrt_SNo_nonneg) We take the following as an axiom:
∀x, SNo x0 xSNo (sqrt_SNo_nonneg x)
Axiom. (sqrt_SNo_nonneg_nonneg) We take the following as an axiom:
∀x, SNo x0 x0 sqrt_SNo_nonneg x
Axiom. (sqrt_SNo_nonneg_sqr) We take the following as an axiom:
∀x, SNo x0 xsqrt_SNo_nonneg x * sqrt_SNo_nonneg x = x
Axiom. (sqrt_SNo_nonneg_0) We take the following as an axiom:
Axiom. (sqrt_SNo_nonneg_1) We take the following as an axiom:
End of Section SurrealSqrt