Assume H2: x ≠ 2.
We prove the intermediate
claim L4:
∀m ∈ ω, x ≠ eps_ m.
Let m be given.
Assume Hm H3.
Apply H1 to the current goal.
We use m to witness the existential quantifier.
Apply andI to the current goal.
An exact proof term for the current goal is Hm.
An exact proof term for the current goal is H3.
Let u be given.
Assume H.
Apply H to the current goal.
Apply SepE (SNoL x) (λw ⇒ 0 < w) u Hu to the current goal.
Apply SNoL_E x Hx u Hua to the current goal.
Assume Hua1: SNo u.
We prove the intermediate claim Lru: SNo (recip_SNo_pos u).
An exact proof term for the current goal is SNo_recip_SNo_pos u Hua1 Hub.
We prove the intermediate
claim Lumx:
SNo (u + - x).
Apply SNo_add_SNo to the current goal.
An exact proof term for the current goal is Hua1.
An exact proof term for the current goal is Lmx.
Set f to be the term
λv ⇒ (1 + (u + - x) * v) * recip_SNo_pos u of type
set → set.
We prove the intermediate
claim L5:
∀w ∈ L, f w ∈ R.
Let w be given.
Assume Hw.
Apply LLE w Hw to the current goal.
Let k be given.
Apply LRI (ordsucc k) (omega_ordsucc k Hk) to the current goal.
We will
prove f w ∈ SNo_recipaux x recip_SNo_pos (ordsucc k) 1.
rewrite the current goal using SNo_recipaux_S x recip_SNo_pos k (omega_nat_p k Hk) (from left to right).
rewrite the current goal using tuple_2_1_eq (from left to right).
We will
prove f w ∈ SNo_recipaux x recip_SNo_pos k 1 ∪ SNo_recipauxset (SNo_recipaux x recip_SNo_pos k 0) x (SNoL_pos x) recip_SNo_pos ∪ SNo_recipauxset (SNo_recipaux x recip_SNo_pos k 1) x (SNoR x) recip_SNo_pos.
Apply binunionI1 to the current goal.
Apply binunionI2 to the current goal.
We will
prove (1 + (u + - x) * w) * recip_SNo_pos u ∈ SNo_recipauxset (SNo_recipaux x recip_SNo_pos k 0) x (SNoL_pos x) recip_SNo_pos.
Apply SNo_recipauxset_I (SNo_recipaux x recip_SNo_pos k 0) x (SNoL_pos x) recip_SNo_pos w to the current goal.
We will
prove w ∈ SNo_recipaux x recip_SNo_pos k 0.
An exact proof term for the current goal is Hwk.
An exact proof term for the current goal is Hu.
We prove the intermediate
claim L6:
∀z ∈ R, f z ∈ L.
Let z be given.
Assume Hz.
Apply LRE z Hz to the current goal.
Let k be given.
Apply LLI (ordsucc k) (omega_ordsucc k Hk) to the current goal.
We will
prove (1 + (u + - x) * z) * recip_SNo_pos u ∈ SNo_recipaux x recip_SNo_pos (ordsucc k) 0.
rewrite the current goal using SNo_recipaux_S x recip_SNo_pos k (omega_nat_p k Hk) (from left to right).
rewrite the current goal using tuple_2_0_eq (from left to right).
We will
prove (1 + (u + - x) * z) * recip_SNo_pos u ∈ SNo_recipaux x recip_SNo_pos k 0 ∪ SNo_recipauxset (SNo_recipaux x recip_SNo_pos k 0) x (SNoR x) recip_SNo_pos ∪ SNo_recipauxset (SNo_recipaux x recip_SNo_pos k 1) x (SNoL_pos x) recip_SNo_pos.
Apply binunionI2 to the current goal.
We will
prove (1 + (u + - x) * z) * recip_SNo_pos u ∈ SNo_recipauxset (SNo_recipaux x recip_SNo_pos k 1) x (SNoL_pos x) recip_SNo_pos.
Apply SNo_recipauxset_I (SNo_recipaux x recip_SNo_pos k 1) x (SNoL_pos x) recip_SNo_pos z to the current goal.
We will
prove z ∈ SNo_recipaux x recip_SNo_pos k 1.
An exact proof term for the current goal is Hzk.
An exact proof term for the current goal is Hu.
We prove the intermediate
claim Luu:
SNo (u * u).
An exact proof term for the current goal is SNo_mul_SNo u u Hua1 Hua1.
We prove the intermediate
claim Luupos:
0 < u * u.
An exact proof term for the current goal is mul_SNo_pos_pos u u Hua1 Hua1 Hub Hub.
We prove the intermediate
claim Luun0:
u * u ≠ 0.
Assume H.
Apply SNoLt_irref 0 to the current goal.
rewrite the current goal using H (from right to left) at position 2.
An exact proof term for the current goal is Luupos.
We prove the intermediate
claim L2u:
SNo (2 * u).
An exact proof term for the current goal is SNo_mul_SNo 2 u SNo_2 Hua1.
We prove the intermediate
claim Lf:
∀v, SNo v → ∀p : prop, (SNo ((u + - x) * v) → SNo (1 + ((u + - x) * v)) → SNo (f v) → p) → p.
Let v be given.
Assume Hv.
Let p be given.
Assume Hp.
We prove the intermediate
claim Lf1:
SNo ((u + - x) * v).
Apply SNo_mul_SNo to the current goal.
An exact proof term for the current goal is Lumx.
An exact proof term for the current goal is Hv.
We prove the intermediate
claim Lf2:
SNo (1 + (u + - x) * v).
Apply SNo_add_SNo to the current goal.
An exact proof term for the current goal is SNo_1.
An exact proof term for the current goal is Lf1.
We prove the intermediate
claim Lf3:
SNo ((1 + (u + - x) * v) * recip_SNo_pos u).
Apply SNo_mul_SNo to the current goal.
An exact proof term for the current goal is Lf2.
An exact proof term for the current goal is Lru.
An exact proof term for the current goal is Hp Lf1 Lf2 Lf3.
We prove the intermediate
claim Luf:
∀v, SNo v → u * f v = 1 + (u + - x) * v.
Let v be given.
Assume Hv.
Apply Lf v Hv to the current goal.
Assume Hfv: SNo (f v).
We will
prove u * ((1 + (u + - x) * v) * recip_SNo_pos u) = 1 + (u + - x) * v.
rewrite the current goal using
mul_SNo_com (1 + (u + - x) * v) (recip_SNo_pos u) H1umxv Lru (from left to right).
rewrite the current goal using
mul_SNo_assoc u (recip_SNo_pos u) (1 + (u + - x) * v) Hua1 Lru H1umxv (from left to right).
rewrite the current goal using recip_SNo_pos_invR u Hua1 Hub (from left to right).
An
exact proof term for the current goal is
mul_SNo_oneL (1 + (u + - x) * v) H1umxv.
We prove the intermediate
claim L7:
∀v, SNo v → f (f v) = (v * u * u + x * x * v + 2 * u + - ((2 * u) * x * v + x)) :/: (u * u).
Let v be given.
Assume Hv.
Set v' to be the term f v.
Apply Lf v Hv to the current goal.
Assume Hv': SNo v'.
Apply Lf v' Hv' to the current goal.
Assume Hfv': SNo (f v').
We prove the intermediate
claim Lxv:
SNo (x * v).
An exact proof term for the current goal is SNo_mul_SNo x v Hx Hv.
We prove the intermediate
claim Lxxv:
SNo (x * x * v).
An
exact proof term for the current goal is
SNo_mul_SNo x (x * v) Hx Lxv.
We prove the intermediate
claim L2uxv:
SNo ((2 * u) * x * v).
An
exact proof term for the current goal is
SNo_mul_SNo (2 * u) (x * v) L2u Lxv.
We prove the intermediate
claim Lvuu:
SNo (v * u * u).
An
exact proof term for the current goal is
SNo_mul_SNo v (u * u) Hv Luu.
We prove the intermediate
claim Luxv:
SNo (u * x * v).
An
exact proof term for the current goal is
SNo_mul_SNo u (x * v) Hua1 Lxv.
We prove the intermediate
claim Luv:
SNo (u * v).
An exact proof term for the current goal is SNo_mul_SNo u v Hua1 Hv.
We prove the intermediate
claim Lxuv:
SNo (x * u * v).
An
exact proof term for the current goal is
SNo_mul_SNo x (u * v) Hx Luv.
We prove the intermediate
claim Lmuxv:
SNo (- u * x * v).
An
exact proof term for the current goal is
SNo_minus_SNo (u * x * v) Luxv.
We prove the intermediate
claim Lmxuv:
SNo (- x * u * v).
An
exact proof term for the current goal is
SNo_minus_SNo (x * u * v) Lxuv.
We prove the intermediate
claim Lmxmxuv:
SNo (- x + - x * u * v).
Apply SNo_add_SNo to the current goal.
An exact proof term for the current goal is Lmx.
An exact proof term for the current goal is Lmxuv.
We prove the intermediate
claim Lmxmxuvxxv:
SNo (- x + - x * u * v + x * x * v).
Apply SNo_add_SNo_3 to the current goal.
An exact proof term for the current goal is Lmx.
An exact proof term for the current goal is Lmxuv.
An exact proof term for the current goal is Lxxv.
We will
prove f v' = (v * u * u + x * x * v + 2 * u + - ((2 * u) * x * v + x)) :/: (u * u).
Use symmetry.
Apply mul_div_SNo_nonzero_eq (v * u * u + x * x * v + 2 * u + - ((2 * u) * x * v + x)) (u * u) (f v') (SNo_add_SNo_4 (v * u * u) (x * x * v) (2 * u) (- ((2 * u) * x * v + x)) Lvuu Lxxv L2u (SNo_minus_SNo ((2 * u) * x * v + x) (SNo_add_SNo ((2 * u) * x * v) x L2uxv Hx))) Luu Hfv' Luun0 to the current goal.
We will
prove v * u * u + x * x * v + 2 * u + - ((2 * u) * x * v + x) = (u * u) * f v'.
Use transitivity with
u + u * (1 + (u + - x) * v) + - x * (1 + (u + - x) * v),
u + u * u * v' + - x * u * v',
u * (1 + (u + - x) * v'), and
u * (u * f v').
Use f_equal.
rewrite the current goal using
add_SNo_com_3_0_1 (x * x * v) (2 * u) (- ((2 * u) * x * v + x)) Lxxv L2u (SNo_minus_SNo ((2 * u) * x * v + x) (SNo_add_SNo ((2 * u) * x * v) x L2uxv Hx)) (from left to right).
rewrite the current goal using add_SNo_1_1_2 (from right to left) at position 1.
rewrite the current goal using mul_SNo_distrR 1 1 u SNo_1 SNo_1 Hua1 (from left to right).
rewrite the current goal using mul_SNo_oneL u Hua1 (from left to right).
Use transitivity with and
u + u + x * x * v + - ((2 * u) * x * v + x).
Use symmetry.
Apply add_SNo_assoc u u (x * x * v + - ((2 * u) * x * v + x)) Hua1 Hua1 to the current goal.
We will
prove SNo (x * x * v + - ((2 * u) * x * v + x)).
Apply SNo_add_SNo to the current goal.
An exact proof term for the current goal is Lxxv.
Apply SNo_minus_SNo to the current goal.
Apply SNo_add_SNo to the current goal.
An exact proof term for the current goal is L2uxv.
An exact proof term for the current goal is Hx.
Use f_equal.
Use f_equal.
Use transitivity with and
x * x * v + - u * x * v + - x + - x * u * v.
Use f_equal.
We will
prove - ((2 * u) * x * v + x) = - u * x * v + - x + - x * u * v.
rewrite the current goal using
minus_add_SNo_distr_3 (u * x * v) x (x * u * v) Luxv Hx Lxuv (from right to left).
We will
prove - ((2 * u) * x * v + x) = - (u * x * v + x + x * u * v).
Use f_equal.
We will
prove (2 * u) * x * v + x = u * x * v + x + x * u * v.
rewrite the current goal using mul_SNo_com_3_0_1 x u v Hx Hua1 Hv (from left to right).
We will
prove (2 * u) * x * v + x = u * x * v + x + u * x * v.
rewrite the current goal using
add_SNo_com x (u * x * v) Hx Luxv (from left to right).
rewrite the current goal using
add_SNo_assoc (u * x * v) (u * x * v) x Luxv Luxv Hx (from left to right).
Use f_equal.
We will
prove (2 * u) * x * v = u * x * v + u * x * v.
rewrite the current goal using add_SNo_1_1_2 (from right to left) at position 1.
rewrite the current goal using mul_SNo_distrR 1 1 u SNo_1 SNo_1 Hua1 (from left to right).
rewrite the current goal using mul_SNo_oneL u Hua1 (from left to right).
We will
prove (u + u) * x * v = u * x * v + u * x * v.
An
exact proof term for the current goal is
mul_SNo_distrR u u (x * v) Hua1 Hua1 Lxv.
rewrite the current goal using
add_SNo_com_3_0_1 (x * x * v) (- u * x * v) (- x + - x * u * v) Lxxv Lmuxv Lmxmxuv (from left to right).
Use f_equal.
rewrite the current goal using
add_SNo_com_3_0_1 (x * x * v) (- x) (- x * u * v) Lxxv Lmx Lmxuv (from left to right).
Use f_equal.
We will
prove x * x * v + - x * u * v = - x * u * v + x * x * v.
An
exact proof term for the current goal is
add_SNo_com (x * x * v) (- x * u * v) Lxxv Lmxuv.
rewrite the current goal using
add_SNo_com_3_0_1 (v * u * u) u (u + - u * x * v + (- x + - x * u * v + x * x * v)) Lvuu Hua1 (from left to right).
Use f_equal.
Apply add_SNo_assoc_4 to the current goal.
An exact proof term for the current goal is Lvuu.
An exact proof term for the current goal is Hua1.
An exact proof term for the current goal is Lmuxv.
An exact proof term for the current goal is Lmxmxuvxxv.
Apply SNo_add_SNo_3 to the current goal.
An exact proof term for the current goal is Hua1.
An exact proof term for the current goal is Lmuxv.
An exact proof term for the current goal is Lmxmxuvxxv.
Use f_equal.
Use f_equal.
We will
prove v * u * u + u + - u * x * v = u * (1 + (u + - x) * v).
rewrite the current goal using
mul_SNo_distrL u 1 ((u + - x) * v) Hua1 SNo_1 Humxv (from left to right).
We will
prove v * u * u + u + - u * x * v = u * 1 + u * (u + - x) * v.
rewrite the current goal using mul_SNo_oneR u Hua1 (from left to right).
We will
prove v * u * u + u + - u * x * v = u + u * (u + - x) * v.
rewrite the current goal using
add_SNo_com_3_0_1 (v * u * u) u (- u * x * v) Lvuu Hua1 (SNo_minus_SNo (u * x * v) Luxv) (from left to right).
We will
prove u + v * u * u + - u * x * v = u + u * (u + - x) * v.
Use f_equal.
We will
prove v * u * u + - u * x * v = u * (u + - x) * v.
rewrite the current goal using
mul_SNo_distrR u (- x) v Hua1 Lmx Hv (from left to right).
We will
prove v * u * u + - u * x * v = u * (u * v + (- x) * v).
rewrite the current goal using
mul_SNo_distrL u (u * v) ((- x) * v) Hua1 Luv (SNo_mul_SNo (- x) v Lmx Hv) (from left to right).
We will
prove v * u * u + - u * x * v = u * u * v + u * (- x) * v.
Use f_equal.
We will
prove v * u * u = u * u * v.
rewrite the current goal using mul_SNo_com u v Hua1 Hv (from left to right).
An exact proof term for the current goal is mul_SNo_com_3_0_1 v u u Hv Hua1 Hua1.
We will
prove - u * x * v = u * (- x) * v.
rewrite the current goal using mul_SNo_minus_distrL x v Hx Hv (from left to right).
Use symmetry.
An
exact proof term for the current goal is
mul_SNo_minus_distrR u (x * v) Hua1 Lxv.
We will
prove - x + - x * u * v + x * x * v = - x * (1 + (u + - x) * v).
rewrite the current goal using
mul_SNo_minus_distrL x (1 + (u + - x) * v) Hx H1umxv (from right to left).
We will
prove - x + - x * u * v + x * x * v = (- x) * (1 + (u + - x) * v).
Apply mul_SNo_distrL (- x) 1 ((u + - x) * v) Lmx SNo_1 Humxv (λw z ⇒ - x + - x * u * v + x * x * v = z) to the current goal.
We will
prove - x + - x * u * v + x * x * v = (- x) * 1 + (- x) * (u + - x) * v.
rewrite the current goal using
mul_SNo_oneR (- x) Lmx (from left to right).
Use f_equal.
We will
prove - x * u * v + x * x * v = (- x) * (u + - x) * v.
rewrite the current goal using
mul_SNo_distrR u (- x) v Hua1 Lmx Hv (from left to right).
rewrite the current goal using
mul_SNo_distrL (- x) (u * v) ((- x) * v) Lmx Luv (SNo_mul_SNo (- x) v Lmx Hv) (from left to right).
We will
prove - x * u * v + x * x * v = (- x) * u * v + (- x) * (- x) * v.
rewrite the current goal using
mul_SNo_minus_distrL x (u * v) Hx Luv (from left to right).
We will
prove - x * u * v + x * x * v = - x * u * v + (- x) * (- x) * v.
Use f_equal.
We will
prove x * x * v = (- x) * (- x) * v.
rewrite the current goal using
mul_SNo_assoc (- x) (- x) v Lmx Lmx Hv (from left to right).
rewrite the current goal using mul_SNo_minus_minus x x Hx Hx (from left to right).
An exact proof term for the current goal is mul_SNo_assoc x x v Hx Hx Hv.
We will
prove u + u * (1 + (u + - x) * v) + - x * (1 + (u + - x) * v) = u + u * u * v' + - x * u * v'.
An
exact proof term for the current goal is
Luf v Hv (λw z ⇒ u + u * w + - x * w = u + u * u * v' + - x * u * v') (λq H ⇒ H).
We will
prove u + u * u * v' + - x * u * v' = u * (1 + (u + - x) * v').
Apply mul_SNo_distrL u 1 ((u + - x) * v') Hua1 SNo_1 Humxv' (λw z ⇒ u + u * u * v' + - x * u * v' = z) to the current goal.
We will
prove u + u * u * v' + - x * u * v' = u * 1 + u * (u + - x) * v'.
rewrite the current goal using mul_SNo_oneR u Hua1 (from left to right).
Use f_equal.
We will
prove u * u * v' + - x * u * v' = u * (u + - x) * v'.
Apply mul_SNo_distrR u (- x) v' Hua1 Lmx Hv' (λw z ⇒ u * u * v' + - x * u * v' = u * z) to the current goal.
We will
prove u * u * v' + - x * u * v' = u * (u * v' + (- x) * v').
Apply mul_SNo_distrL u (u * v') ((- x) * v') Hua1 (SNo_mul_SNo u v' Hua1 Hv') (SNo_mul_SNo (- x) v' Lmx Hv') (λw z ⇒ u * u * v' + - x * u * v' = z) to the current goal.
We will
prove u * u * v' + - x * u * v' = u * u * v' + u * (- x) * v'.
Use f_equal.
We will
prove - x * u * v' = u * (- x) * v'.
Apply mul_SNo_com_3_0_1 u (- x) v' Hua1 Lmx Hv' (λw z ⇒ - x * u * v' = z) to the current goal.
We will
prove - x * u * v' = (- x) * u * v'.
Use symmetry.
An
exact proof term for the current goal is
mul_SNo_minus_distrL x (u * v') Hx (SNo_mul_SNo u v' Hua1 Hv').
Use f_equal.
Use symmetry.
An exact proof term for the current goal is Luf v' Hv'.
An exact proof term for the current goal is mul_SNo_assoc u u (f v') Hua1 Hua1 Hfv'.
We prove the intermediate
claim L8:
∀w ∈ L, ∃w' ∈ L, w < w'.
Let w be given.
Assume Hw.
We prove the intermediate claim Lw: SNo w.
An exact proof term for the current goal is LLreal w Hw.
We prove the intermediate
claim Lxw:
SNo (x * w).
An exact proof term for the current goal is SNo_mul_SNo x w Hx Lw.
We prove the intermediate
claim Lxxw:
SNo (x * x * w).
An
exact proof term for the current goal is
SNo_mul_SNo x (x * w) Hx Lxw.
We prove the intermediate
claim L2uxw:
SNo ((2 * u) * x * w).
An
exact proof term for the current goal is
SNo_mul_SNo (2 * u) (x * w) L2u Lxw.
We prove the intermediate
claim Lwuu:
SNo (w * u * u).
An
exact proof term for the current goal is
SNo_mul_SNo w (u * u) Lw Luu.
We use f (f w) to witness the existential quantifier.
Apply andI to the current goal.
Apply L6 to the current goal.
Apply L5 to the current goal.
An exact proof term for the current goal is Hw.
We will
prove w < f (f w).
We prove the intermediate
claim L8a:
w < (w * u * u + x * x * w + 2 * u + - ((2 * u) * x * w + x)) :/: (u * u).
Apply div_SNo_pos_LtR (w * u * u + x * x * w + 2 * u + - ((2 * u) * x * w + x)) (u * u) w to the current goal.
An
exact proof term for the current goal is
SNo_add_SNo_4 (w * u * u) (x * x * w) (2 * u) (- ((2 * u) * x * w + x)) Lwuu Lxxw L2u (SNo_minus_SNo ((2 * u) * x * w + x) (SNo_add_SNo ((2 * u) * x * w) x L2uxw Hx)).
An exact proof term for the current goal is Luu.
An exact proof term for the current goal is Lw.
An exact proof term for the current goal is Luupos.
We will
prove w * u * u < w * u * u + x * x * w + 2 * u + - ((2 * u) * x * w + x).
rewrite the current goal using
add_SNo_0R (w * u * u) (from right to left) at position 1.
We will
prove w * u * u + 0 < w * u * u + x * x * w + 2 * u + - ((2 * u) * x * w + x).
Apply add_SNo_Lt2 to the current goal.
An exact proof term for the current goal is Lwuu.
An exact proof term for the current goal is SNo_0.
An
exact proof term for the current goal is
SNo_add_SNo_3 (x * x * w) (2 * u) (- ((2 * u) * x * w + x)) Lxxw L2u (SNo_minus_SNo ((2 * u) * x * w + x) (SNo_add_SNo ((2 * u) * x * w) x L2uxw Hx)).
We will
prove 0 < x * x * w + 2 * u + - ((2 * u) * x * w + x).
Apply add_SNo_minus_Lt2b3 to the current goal.
An exact proof term for the current goal is Lxxw.
An exact proof term for the current goal is L2u.
An
exact proof term for the current goal is
SNo_add_SNo ((2 * u) * x * w) x L2uxw Hx.
An exact proof term for the current goal is SNo_0.
We will
prove 0 + (2 * u) * x * w + x < x * x * w + 2 * u.
rewrite the current goal using add_SNo_0L (from left to right).
We will
prove (2 * u) * x * w + x < x * x * w + 2 * u.
rewrite the current goal using
add_SNo_com ((2 * u) * x * w) x (SNo_mul_SNo (2 * u) (x * w) L2u Lxw) Hx (from left to right).
rewrite the current goal using
add_SNo_com (x * x * w) (2 * u) Lxxw L2u (from left to right).
rewrite the current goal using mul_SNo_oneR x Hx (from right to left) at position 1.
We will
prove x * 1 + (2 * u) * x * w < 2 * u + x * x * w.
rewrite the current goal using
mul_SNo_oneR (2 * u) L2u (from right to left) at position 2.
We will
prove x * 1 + (2 * u) * x * w < (2 * u) * 1 + x * x * w.
Apply mul_SNo_Lt to the current goal.
An exact proof term for the current goal is L2u.
An exact proof term for the current goal is SNo_1.
An exact proof term for the current goal is Hx.
An exact proof term for the current goal is Lxw.
An exact proof term for the current goal is H3.
rewrite the current goal using mul_SNo_com x w Hx Lw (from left to right).
Apply div_SNo_pos_LtR' to the current goal.
An exact proof term for the current goal is SNo_1.
An exact proof term for the current goal is Hx.
An exact proof term for the current goal is Lw.
An exact proof term for the current goal is Hxpos.
We will
prove w < 1 :/: x.
We will
prove w < 1 * recip_SNo x.
rewrite the current goal using mul_SNo_oneL (recip_SNo x) (SNo_recip_SNo x Hx) (from left to right).
rewrite the current goal using recip_SNo_poscase x Hxpos (from left to right).
We will
prove w < recip_SNo_pos x.
rewrite the current goal using LrxLR (from left to right).
Apply HLR3 to the current goal.
An exact proof term for the current goal is Hw.
An
exact proof term for the current goal is
SNo_add_SNo ((2 * u) * x * w) x (SNo_mul_SNo (2 * u) (x * w) L2u Lxw) Hx.
An exact proof term for the current goal is Lwuu.
An
exact proof term for the current goal is
L7 w Lw (λu v ⇒ w < v) L8a.
We prove the intermediate
claim L9:
∀z ∈ R, ∃z' ∈ R, z' < z.
Let z be given.
Assume Hz.
We prove the intermediate claim Lz: SNo z.
An exact proof term for the current goal is LRreal z Hz.
We prove the intermediate
claim Lxz:
SNo (x * z).
An exact proof term for the current goal is SNo_mul_SNo x z Hx Lz.
We prove the intermediate
claim Lxxz:
SNo (x * x * z).
An
exact proof term for the current goal is
SNo_mul_SNo x (x * z) Hx Lxz.
We prove the intermediate
claim L2uxz:
SNo ((2 * u) * x * z).
An
exact proof term for the current goal is
SNo_mul_SNo (2 * u) (x * z) L2u Lxz.
We prove the intermediate
claim Lzuu:
SNo (z * u * u).
An
exact proof term for the current goal is
SNo_mul_SNo z (u * u) Lz Luu.
We use f (f z) to witness the existential quantifier.
Apply andI to the current goal.
Apply L5 to the current goal.
Apply L6 to the current goal.
An exact proof term for the current goal is Hz.
We will
prove f (f z) < z.
We prove the intermediate
claim L9a:
(z * u * u + x * x * z + 2 * u + - ((2 * u) * x * z + x)) :/: (u * u) < z.
Apply div_SNo_pos_LtL (z * u * u + x * x * z + 2 * u + - ((2 * u) * x * z + x)) (u * u) z to the current goal.
An
exact proof term for the current goal is
SNo_add_SNo_4 (z * u * u) (x * x * z) (2 * u) (- ((2 * u) * x * z + x)) Lzuu Lxxz L2u (SNo_minus_SNo ((2 * u) * x * z + x) (SNo_add_SNo ((2 * u) * x * z) x L2uxz Hx)).
An exact proof term for the current goal is Luu.
An exact proof term for the current goal is Lz.
An exact proof term for the current goal is Luupos.
We will
prove z * u * u + x * x * z + 2 * u + - ((2 * u) * x * z + x) < z * u * u.
rewrite the current goal using
add_SNo_0R (z * u * u) (from right to left) at position 2.
We will
prove z * u * u + x * x * z + 2 * u + - ((2 * u) * x * z + x) < z * u * u + 0.
Apply add_SNo_Lt2 to the current goal.
An exact proof term for the current goal is Lzuu.
An
exact proof term for the current goal is
SNo_add_SNo_3 (x * x * z) (2 * u) (- ((2 * u) * x * z + x)) Lxxz L2u (SNo_minus_SNo ((2 * u) * x * z + x) (SNo_add_SNo ((2 * u) * x * z) x L2uxz Hx)).
An exact proof term for the current goal is SNo_0.
We will
prove x * x * z + 2 * u + - ((2 * u) * x * z + x) < 0.
Apply add_SNo_minus_Lt1b3 to the current goal.
An exact proof term for the current goal is Lxxz.
An exact proof term for the current goal is L2u.
An
exact proof term for the current goal is
SNo_add_SNo ((2 * u) * x * z) x L2uxz Hx.
An exact proof term for the current goal is SNo_0.
We will
prove x * x * z + 2 * u < 0 + (2 * u) * x * z + x.
rewrite the current goal using add_SNo_0L (from left to right).
We will
prove x * x * z + 2 * u < (2 * u) * x * z + x.
rewrite the current goal using mul_SNo_oneR x Hx (from right to left) at position 4.
We will
prove x * x * z + 2 * u < (2 * u) * x * z + x * 1.
rewrite the current goal using
mul_SNo_oneR (2 * u) L2u (from right to left) at position 1.
We will
prove x * x * z + (2 * u) * 1 < (2 * u) * x * z + x * 1.
Apply mul_SNo_Lt to the current goal.
An exact proof term for the current goal is L2u.
An exact proof term for the current goal is Lxz.
An exact proof term for the current goal is Hx.
An exact proof term for the current goal is SNo_1.
An exact proof term for the current goal is H3.
rewrite the current goal using mul_SNo_com x z Hx Lz (from left to right).
Apply div_SNo_pos_LtL' to the current goal.
An exact proof term for the current goal is SNo_1.
An exact proof term for the current goal is Hx.
An exact proof term for the current goal is Lz.
An exact proof term for the current goal is Hxpos.
We will
prove 1 :/: x < z.
We will
prove 1 * recip_SNo x < z.
rewrite the current goal using mul_SNo_oneL (recip_SNo x) (SNo_recip_SNo x Hx) (from left to right).
rewrite the current goal using recip_SNo_poscase x Hxpos (from left to right).
We will
prove recip_SNo_pos x < z.
rewrite the current goal using LrxLR (from left to right).
Apply HLR4 to the current goal.
An exact proof term for the current goal is Hz.
An
exact proof term for the current goal is
SNo_add_SNo ((2 * u) * x * z) x (SNo_mul_SNo (2 * u) (x * z) L2u Lxz) Hx.
An exact proof term for the current goal is Lzuu.
An
exact proof term for the current goal is
L7 z Lz (λu v ⇒ v < z) L9a.
We will
prove recip_SNo_pos x ∈ real.
rewrite the current goal using recip_SNo_pos_eq x Hx (from left to right).
We will
prove SNoCut L R ∈ real.
An exact proof term for the current goal is LLreal.
An exact proof term for the current goal is LRreal.
An exact proof term for the current goal is LLR.
An exact proof term for the current goal is LL0.
We will prove R ≠ 0.
Assume H4: R = 0.
Apply EmptyE ((1 + (u + - x) * 0) * recip_SNo_pos u) to the current goal.
We will
prove (1 + (u + - x) * 0) * recip_SNo_pos u ∈ 0.
rewrite the current goal using H4 (from right to left) at position 3.
We will
prove (1 + (u + - x) * 0) * recip_SNo_pos u ∈ R.
Apply L5 0 to the current goal.
Apply LLI 0 (nat_p_omega 0 nat_0) to the current goal.
We will
prove 0 ∈ SNo_recipaux x recip_SNo_pos 0 0.
rewrite the current goal using SNo_recipaux_0 x recip_SNo_pos (from left to right).
rewrite the current goal using tuple_2_0_eq (from left to right).
Apply SingI to the current goal.
We will
prove ∀w ∈ L, ∃w' ∈ L, w < w'.
An exact proof term for the current goal is L8.
We will
prove ∀z ∈ R, ∃z' ∈ R, z' < z.
An exact proof term for the current goal is L9.