Let p and c be given.
Assume Hp Hc.
We prove the intermediate
claim HdxR:
dx ∈ R.
We prove the intermediate
claim HdyR:
dy ∈ R.
Set dx2 to be the term
mul_SNo dx dx.
Set dy2 to be the term
mul_SNo dy dy.
We prove the intermediate
claim Hdx2def:
dx2 = mul_SNo dx dx.
We prove the intermediate
claim Hdy2def:
dy2 = mul_SNo dy dy.
We prove the intermediate
claim Hdx2R:
dx2 ∈ R.
An
exact proof term for the current goal is
(real_mul_SNo dx HdxR dx HdxR).
We prove the intermediate
claim Hdy2R:
dy2 ∈ R.
An
exact proof term for the current goal is
(real_mul_SNo dy HdyR dy HdyR).
Set sum to be the term
add_SNo dx2 dy2.
We prove the intermediate
claim Hsumdef:
sum = add_SNo dx2 dy2.
We prove the intermediate
claim HsumR:
sum ∈ R.
An
exact proof term for the current goal is
(real_add_SNo dx2 Hdx2R dy2 Hdy2R).
We prove the intermediate
claim HdxS:
SNo dx.
An
exact proof term for the current goal is
(real_SNo dx HdxR).
We prove the intermediate
claim HdyS:
SNo dy.
An
exact proof term for the current goal is
(real_SNo dy HdyR).
We prove the intermediate
claim Hdx2S:
SNo dx2.
An
exact proof term for the current goal is
(real_SNo dx2 Hdx2R).
We prove the intermediate
claim Hdy2S:
SNo dy2.
An
exact proof term for the current goal is
(real_SNo dy2 Hdy2R).
We prove the intermediate
claim Hdx2nonneg:
0 ≤ dx2.
We prove the intermediate
claim H0or:
dx = 0 ∨ 0 < (mul_SNo dx dx).
Apply H0or to the current goal.
rewrite the current goal using Hdx2def (from left to right).
rewrite the current goal using Hdx0 (from left to right).
An
exact proof term for the current goal is
(SNoLe_ref 0).
rewrite the current goal using Hdx2def (from left to right).
An
exact proof term for the current goal is
(SNoLtLe 0 (mul_SNo dx dx) Hpos).
We prove the intermediate
claim Hdy2nonneg:
0 ≤ dy2.
We prove the intermediate
claim H0or:
dy = 0 ∨ 0 < (mul_SNo dy dy).
Apply H0or to the current goal.
rewrite the current goal using Hdy2def (from left to right).
rewrite the current goal using Hdy0 (from left to right).
An
exact proof term for the current goal is
(SNoLe_ref 0).
rewrite the current goal using Hdy2def (from left to right).
An
exact proof term for the current goal is
(SNoLtLe 0 (mul_SNo dy dy) Hpos).
We prove the intermediate
claim HsumNonneg:
0 ≤ sum.
rewrite the current goal using Hsumdef (from left to right).
rewrite the current goal using
(add_SNo_0L 0 SNo_0) (from right to left) at position 1.
An
exact proof term for the current goal is
(add_SNo_Le3 0 0 dx2 dy2 SNo_0 SNo_0 Hdx2S Hdy2S Hdx2nonneg Hdy2nonneg).
rewrite the current goal using Hdef (from left to right).
∎