Let p and c be given.
Set dx2 to be the term
mul_SNo dx dx.
Set dy2 to be the term
mul_SNo dy dy.
Set sum to be the term
add_SNo dx2 dy2.
We prove the intermediate
claim HxpR:
xp ∈ R.
We prove the intermediate
claim HypR:
yp ∈ R.
We prove the intermediate
claim HxcR:
xc ∈ R.
We prove the intermediate
claim HycR:
yc ∈ R.
We prove the intermediate
claim HmxR:
minus_SNo xc ∈ R.
We prove the intermediate
claim HmyR:
minus_SNo yc ∈ R.
We prove the intermediate
claim HdxR:
dx ∈ R.
We prove the intermediate
claim HdyR:
dy ∈ R.
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
(SNo_mul_SNo dx dx HdxS HdxS).
We prove the intermediate
claim Hdy2S:
SNo dy2.
An
exact proof term for the current goal is
(SNo_mul_SNo dy dy HdyS HdyS).
We prove the intermediate
claim HsumS:
SNo sum.
An
exact proof term for the current goal is
(SNo_add_SNo dx2 dy2 Hdx2S Hdy2S).
rewrite the current goal using Hd0 (from left to right).
Use reflexivity.
rewrite the current goal using
(distance_R2_sqr p c Hp Hc) (from left to right).
Use reflexivity.
We prove the intermediate
claim Hsum0:
sum = 0.
rewrite the current goal using Hsqr (from right to left).
An exact proof term for the current goal is Hd2eq0.
We prove the intermediate
claim Hdx2nonneg:
0 ≤ dx2.
We prove the intermediate
claim Hdy2nonneg:
0 ≤ dy2.
We prove the intermediate
claim Hdx2_le_sum:
dx2 ≤ sum.
We prove the intermediate
claim Hdy2_le_sum:
dy2 ≤ sum.
rewrite the current goal using
(add_SNo_com dx2 dy2 Hdx2S Hdy2S) (from left to right).
We prove the intermediate
claim Hdx2le0:
dx2 ≤ 0.
rewrite the current goal using Hsum0 (from right to left) at position 1.
An exact proof term for the current goal is Hdx2_le_sum.
We prove the intermediate
claim Hdy2le0:
dy2 ≤ 0.
rewrite the current goal using Hsum0 (from right to left) at position 1.
An exact proof term for the current goal is Hdy2_le_sum.
We prove the intermediate
claim H0S:
SNo 0.
An
exact proof term for the current goal is
SNo_0.
We prove the intermediate
claim Hdx2eq0:
dx2 = 0.
An
exact proof term for the current goal is
(SNoLe_antisym dx2 0 Hdx2S H0S Hdx2le0 Hdx2nonneg).
We prove the intermediate
claim Hdy2eq0:
dy2 = 0.
An
exact proof term for the current goal is
(SNoLe_antisym dy2 0 Hdy2S H0S Hdy2le0 Hdy2nonneg).
We prove the intermediate
claim Hdx0:
dx = 0.
We prove the intermediate
claim Hcases:
dx = 0 ∨ 0 < mul_SNo dx dx.
Apply Hcases to the current goal.
An exact proof term for the current goal is H0.
We prove the intermediate
claim Hdx2def:
dx2 = mul_SNo dx dx.
We prove the intermediate
claim Hdx2zero:
mul_SNo dx dx = 0.
rewrite the current goal using Hdx2def (from right to left) at position 1.
An exact proof term for the current goal is Hdx2eq0.
We prove the intermediate
claim Hpos0:
0 < 0.
rewrite the current goal using Hdx2zero (from right to left) at position 2.
An exact proof term for the current goal is Hpos.
rewrite the current goal using Hdx2zero (from left to right) at position 2.
rewrite the current goal using Hdx2zero (from left to right) at position 1.
An exact proof term for the current goal is Hpos0.
We prove the intermediate
claim Hdy0:
dy = 0.
We prove the intermediate
claim Hcases:
dy = 0 ∨ 0 < mul_SNo dy dy.
Apply Hcases to the current goal.
An exact proof term for the current goal is H0.
We prove the intermediate
claim Hdy2def:
dy2 = mul_SNo dy dy.
We prove the intermediate
claim Hdy2zero:
mul_SNo dy dy = 0.
rewrite the current goal using Hdy2def (from right to left) at position 1.
An exact proof term for the current goal is Hdy2eq0.
We prove the intermediate
claim Hpos0:
0 < 0.
rewrite the current goal using Hdy2zero (from right to left) at position 2.
An exact proof term for the current goal is Hpos.
rewrite the current goal using Hdy2zero (from left to right) at position 2.
rewrite the current goal using Hdy2zero (from left to right) at position 1.
An exact proof term for the current goal is Hpos0.
We prove the intermediate
claim HxpS:
SNo xp.
An
exact proof term for the current goal is
(real_SNo xp HxpR).
We prove the intermediate
claim HypS:
SNo yp.
An
exact proof term for the current goal is
(real_SNo yp HypR).
We prove the intermediate
claim HxcS:
SNo xc.
An
exact proof term for the current goal is
(real_SNo xc HxcR).
We prove the intermediate
claim HycS:
SNo yc.
An
exact proof term for the current goal is
(real_SNo yc HycR).
An
exact proof term for the current goal is
(SNo_minus_SNo xc HxcS).
An
exact proof term for the current goal is
(SNo_minus_SNo yc HycS).
We prove the intermediate
claim Hxp_eq_xc:
xp = xc.
rewrite the current goal using HdxDef (from right to left).
An exact proof term for the current goal is Hdx0.
rewrite the current goal using Hdx0' (from left to right) at position 1.
An
exact proof term for the current goal is
(add_SNo_0L xc HxcS).
rewrite the current goal using
(add_SNo_minus_R2 xp xc HxpS HxcS) (from left to right).
Use reflexivity.
rewrite the current goal using Hl_to_xp (from right to left) at position 1.
An exact proof term for the current goal is Hl_to_xc.
We prove the intermediate
claim Hyp_eq_yc:
yp = yc.
rewrite the current goal using HdyDef (from right to left).
An exact proof term for the current goal is Hdy0.
rewrite the current goal using Hdy0' (from left to right) at position 1.
An
exact proof term for the current goal is
(add_SNo_0L yc HycS).
rewrite the current goal using
(add_SNo_minus_R2 yp yc HypS HycS) (from left to right).
Use reflexivity.
rewrite the current goal using Hl_to_yp (from right to left) at position 1.
An exact proof term for the current goal is Hl_to_yc.
We prove the intermediate
claim Hp_eta:
(xp,yp) = p.
We prove the intermediate
claim Hc_eta:
(xc,yc) = c.
rewrite the current goal using Hp_eta (from right to left).
rewrite the current goal using Hc_eta (from right to left).
rewrite the current goal using Hxp_eq_xc (from left to right).
rewrite the current goal using Hyp_eq_yc (from left to right).
Use reflexivity.
∎