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.
We prove the intermediate
claim Lumx:
SNo (u + - x).
An exact proof term for the current goal is Hua1.
An exact proof term for the current goal is Lmx.
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.
rewrite the current goal using
tuple_2_1_eq (from left to right).
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.
rewrite the current goal using
tuple_2_0_eq (from left to right).
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.
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).
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).
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).
An
exact proof term for the current goal is
SNo_1.
An exact proof term for the current goal is Lf1.
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.
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.
Apply Lf v' Hv' to the current goal.
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).
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).
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.
Use symmetry.
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_1_1_2 (from right to left) at position 1.
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.
An exact proof term for the current goal is Lxxv.
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).
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_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.
An
exact proof term for the current goal is
add_SNo_com (x * x * v) (- x * u * v) Lxxv Lmxuv.
Use f_equal.
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.
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.
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.
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).
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).
We will
prove - u * x * v = u * (- x) * v.
Use symmetry.
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).
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).
An
exact proof term for the current goal is
mul_SNo_assoc x x v Hx Hx Hv.
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').
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'.
We will
prove u * u * v' + - x * u * v' = u * (u * v' + (- x) * v').
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'.
We will
prove - x * u * v' = (- x) * u * v'.
Use symmetry.
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).
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.
rewrite the current goal using
add_SNo_0R (w * u * u) (from right to left) at position 1.
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 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.
rewrite the current goal using
add_SNo_0L (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.
rewrite the current goal using
mul_SNo_oneR (2 * u) L2u (from right to left) at position 2.
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).
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.
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 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.
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.
rewrite the current goal using
add_SNo_0R (z * u * u) (from right to left) at position 2.
An exact proof term for the current goal is Lzuu.
An
exact proof term for the current goal is
SNo_0.
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.
rewrite the current goal using
add_SNo_0L (from left to right).
rewrite the current goal using
mul_SNo_oneR x Hx (from right to left) at position 4.
rewrite the current goal using
mul_SNo_oneR (2 * u) L2u (from right to left) at position 1.
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).
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.
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 Lzuu.
An
exact proof term for the current goal is
L7 z Lz (λu v ⇒ v < z) L9a.
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.
rewrite the current goal using H4 (from right to left) at position 3.
Apply L5 0 to the current goal.
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.