Let p be given.
rewrite the current goal using HbEq (from left to right).
We prove the intermediate
claim HxpDef:
xp = R2_xcoord p.
We prove the intermediate
claim HypDef:
yp = R2_ycoord p.
We prove the intermediate
claim HxpR:
xp ∈ R.
rewrite the current goal using HxpDef (from left to right).
We prove the intermediate
claim HypR:
yp ∈ R.
rewrite the current goal using HypDef (from left to right).
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 Hxcoord:
R2_xcoord x = x0.
rewrite the current goal using HxEq (from left to right) at position 1.
We prove the intermediate
claim Hycoord:
R2_ycoord x = y0.
rewrite the current goal using HxEq (from left to right) at position 1.
We prove the intermediate
claim Hr3S:
SNo r3.
An
exact proof term for the current goal is
(real_SNo r3 Hr3R).
We prove the intermediate
claim Hr3posS:
0 < r3.
An
exact proof term for the current goal is
(RltE_lt 0 r3 Hr3pos).
rewrite the current goal using HxpDef (from left to right) at position 1.
rewrite the current goal using Hxcoord (from right to left) at position 1.
rewrite the current goal using HypDef (from left to right) at position 1.
rewrite the current goal using Hycoord (from right to left) at position 1.
We prove the intermediate
claim HdxR:
dx ∈ R.
rewrite the current goal using HdxDef (from left to right).
We prove the intermediate
claim HdyR:
dy ∈ R.
rewrite the current goal using HdyDef (from left to right).
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 HdxLt:
dx < r3.
rewrite the current goal using HdxDef (from left to right) at position 1.
We prove the intermediate
claim HdyLt:
dy < r3.
rewrite the current goal using HdyDef (from left to right) at position 1.
We prove the intermediate
claim HnegdxLt:
minus_SNo dx < r3.
rewrite the current goal using HdxDef (from left to right) at position 1.
We prove the intermediate
claim HnegdyLt:
minus_SNo dy < r3.
rewrite the current goal using HdyDef (from left to right) at position 1.
rewrite the current goal using HdxDef (from left to right) at position 1.
An
exact proof term for the current goal is
(SNo_minus_SNo x0 Hx0S).
An
exact proof term for the current goal is
(SNo_minus_SNo xp HxpS).
rewrite the current goal using Hinv (from right to left) at position 2.
An exact proof term for the current goal is Hneg.
rewrite the current goal using Hcom (from right to left).
An exact proof term for the current goal is Hneg2.
rewrite the current goal using HdyDef (from left to right) at position 1.
An
exact proof term for the current goal is
(SNo_minus_SNo y0 Hy0S).
An
exact proof term for the current goal is
(SNo_minus_SNo yp HypS).
rewrite the current goal using Hinv (from right to left) at position 2.
An exact proof term for the current goal is Hneg.
rewrite the current goal using Hcom (from right to left).
An exact proof term for the current goal is Hneg2.
We prove the intermediate
claim Hr3m1S:
r3 < m1.
An
exact proof term for the current goal is
(RltE_lt r3 m1 Hr3m1).
We prove the intermediate
claim Hr3m2S:
r3 < m2.
An
exact proof term for the current goal is
(RltE_lt r3 m2 Hr3m2).
We prove the intermediate
claim Hr3m3S:
r3 < m3.
An
exact proof term for the current goal is
(RltE_lt r3 m3 Hr3m3).
We prove the intermediate
claim Hr3m4S:
r3 < m4.
An
exact proof term for the current goal is
(RltE_lt r3 m4 Hr3m4).
We prove the intermediate
claim Hx0Lt_xpr3:
x0 < add_SNo xp r3.
rewrite the current goal using HnegdxEq (from right to left) at position 1.
An exact proof term for the current goal is HnegdxLt.
An
exact proof term for the current goal is
(SNo_minus_SNo xp HxpS).
An
exact proof term for the current goal is
(add_SNo_com xp x0 HxpS Hx0S).
We prove the intermediate
claim Hz:
add_SNo x0 0 = x0.
An
exact proof term for the current goal is
(add_SNo_0R x0 Hx0S).
rewrite the current goal using Hassoc1 (from left to right).
rewrite the current goal using Hcom1 (from left to right).
rewrite the current goal using Hassoc2 (from left to right).
rewrite the current goal using Hinv (from left to right).
An exact proof term for the current goal is Hz.
rewrite the current goal using HlhsEq (from right to left) at position 1.
An exact proof term for the current goal is Htmp.
We prove the intermediate
claim HxpLt_x0r3:
xp < add_SNo x0 r3.
rewrite the current goal using HdxDef (from right to left) at position 1.
An exact proof term for the current goal is HdxLt.
An
exact proof term for the current goal is
(SNo_minus_SNo x0 Hx0S).
An
exact proof term for the current goal is
(add_SNo_com x0 xp Hx0S HxpS).
We prove the intermediate
claim Hz:
add_SNo xp 0 = xp.
An
exact proof term for the current goal is
(add_SNo_0R xp HxpS).
rewrite the current goal using Hassoc1 (from left to right).
rewrite the current goal using Hcom1 (from left to right).
rewrite the current goal using Hassoc2 (from left to right).
rewrite the current goal using Hinv (from left to right).
An exact proof term for the current goal is Hz.
rewrite the current goal using HlhsEq (from right to left) at position 1.
An exact proof term for the current goal is Htmp.
We prove the intermediate
claim Hx0r3Lt_b0:
add_SNo x0 r3 < b0.
An
exact proof term for the current goal is
(add_SNo_Lt2 x0 r3 m2 Hx0S Hr3S Hm2S Hr3m2S).
We prove the intermediate
claim HrhsEq:
add_SNo x0 m2 = b0.
rewrite the current goal using
(add_SNo_com x0 m2 Hx0S Hm2S) (from left to right).
rewrite the current goal using
(add_SNo_assoc b0 (minus_SNo x0) x0 Hb0S Hmx0S Hx0S) (from right to left) at position 1.
rewrite the current goal using Hinv (from left to right) at position 1.
An
exact proof term for the current goal is
(add_SNo_0R b0 Hb0S).
rewrite the current goal using HrhsEq (from right to left).
An exact proof term for the current goal is Htmp.
We prove the intermediate
claim Hr3m1Lt:
r3 < m1.
An exact proof term for the current goal is Hr3m1S.
An
exact proof term for the current goal is
(add_SNo_Lt2 a r3 m1 HaS Hr3S Hm1S Hr3m1Lt).
We prove the intermediate
claim Ham1Eq:
add_SNo a m1 = x0.
rewrite the current goal using Hm1Def (from left to right).
An
exact proof term for the current goal is
(SNo_minus_SNo a HaS).
An
exact proof term for the current goal is
(add_SNo_com a x0 HaS Hx0S).
rewrite the current goal using Hassoc1 (from left to right).
rewrite the current goal using Hcom1 (from left to right).
rewrite the current goal using Hassoc2 (from left to right).
rewrite the current goal using Hinv (from left to right).
An
exact proof term for the current goal is
(add_SNo_0R x0 Hx0S).
We prove the intermediate
claim Har3Lt_x0:
add_SNo a r3 < x0.
rewrite the current goal using Ham1Eq (from right to left).
An exact proof term for the current goal is Har3Lt_am1.
We prove the intermediate
claim Har3S:
SNo (add_SNo a r3).
We prove the intermediate
claim Hx0Lt_xpr3S:
x0 < add_SNo xp r3.
An exact proof term for the current goal is Hx0Lt_xpr3.
We prove the intermediate
claim Hxpr3S:
SNo (add_SNo xp r3).
An
exact proof term for the current goal is
(SNoLt_tra (add_SNo a r3) x0 (add_SNo xp r3) Har3S Hx0S Hxpr3S Har3Lt_x0 Hx0Lt_xpr3S).
An
exact proof term for the current goal is
(SNo_minus_SNo r3 Hr3S).
rewrite the current goal using Hassoc1 (from left to right).
rewrite the current goal using Hcom1 (from left to right).
rewrite the current goal using Hassoc2 (from left to right).
rewrite the current goal using Hinv (from left to right).
An
exact proof term for the current goal is
(add_SNo_0R a HaS).
rewrite the current goal using Hassoc1 (from left to right).
rewrite the current goal using Hcom1 (from left to right).
rewrite the current goal using Hassoc2 (from left to right).
rewrite the current goal using Hinv (from left to right).
An
exact proof term for the current goal is
(add_SNo_0R xp HxpS).
We prove the intermediate
claim HaxSlt:
a < xp.
rewrite the current goal using HcancelL (from right to left) at position 1.
rewrite the current goal using HcancelR (from right to left).
An exact proof term for the current goal is HtmpAx.
We prove the intermediate
claim HaxRlt:
Rlt a xp.
An
exact proof term for the current goal is
(RltI a xp HaR HxpR HaxSlt).
We prove the intermediate
claim Hx0r3S:
SNo (add_SNo x0 r3).
We prove the intermediate
claim HxpLt_b0S:
xp < b0.
An
exact proof term for the current goal is
(SNoLt_tra xp (add_SNo x0 r3) b0 HxpS Hx0r3S Hb0S HxpLt_x0r3 Hx0r3Lt_b0).
We prove the intermediate
claim HxpLt_b0:
Rlt xp b0.
An
exact proof term for the current goal is
(RltI xp b0 HxpR Hb0R HxpLt_b0S).
We prove the intermediate
claim Hy0Lt_ypr3:
y0 < add_SNo yp r3.
rewrite the current goal using HnegdyEq (from right to left) at position 1.
An exact proof term for the current goal is HnegdyLt.
An
exact proof term for the current goal is
(SNo_minus_SNo yp HypS).
An
exact proof term for the current goal is
(add_SNo_com yp y0 HypS Hy0S).
rewrite the current goal using Hassoc1 (from left to right).
rewrite the current goal using Hcom1 (from left to right).
rewrite the current goal using Hassoc2 (from left to right).
rewrite the current goal using Hinv (from left to right).
An
exact proof term for the current goal is
(add_SNo_0R y0 Hy0S).
rewrite the current goal using HlhsEq (from right to left) at position 1.
An exact proof term for the current goal is Htmp.
We prove the intermediate
claim HypLt_y0r3:
yp < add_SNo y0 r3.
rewrite the current goal using HdyDef (from right to left) at position 1.
An exact proof term for the current goal is HdyLt.
An
exact proof term for the current goal is
(SNo_minus_SNo y0 Hy0S).
An
exact proof term for the current goal is
(add_SNo_com y0 yp Hy0S HypS).
rewrite the current goal using Hassoc1 (from left to right).
rewrite the current goal using Hcom1 (from left to right).
rewrite the current goal using Hassoc2 (from left to right).
rewrite the current goal using Hinv (from left to right).
An
exact proof term for the current goal is
(add_SNo_0R yp HypS).
rewrite the current goal using HlhsEq (from right to left) at position 1.
An exact proof term for the current goal is Htmp.
We prove the intermediate
claim Hy0r3Lt_d0:
add_SNo y0 r3 < d0.
An
exact proof term for the current goal is
(add_SNo_Lt2 y0 r3 m4 Hy0S Hr3S Hm4S Hr3m4S).
We prove the intermediate
claim HrhsEq:
add_SNo y0 m4 = d0.
An
exact proof term for the current goal is
(SNo_minus_SNo y0 Hy0S).
rewrite the current goal using
(add_SNo_com y0 m4 Hy0S Hm4S) (from left to right).
rewrite the current goal using
(add_SNo_assoc d0 (minus_SNo y0) y0 Hd0S Hmy0S Hy0S) (from right to left) at position 1.
rewrite the current goal using Hinv (from left to right) at position 1.
An
exact proof term for the current goal is
(add_SNo_0R d0 Hd0S).
rewrite the current goal using HrhsEq (from right to left).
An exact proof term for the current goal is Htmp.
We prove the intermediate
claim Hy0r3S:
SNo (add_SNo y0 r3).
We prove the intermediate
claim HypLt_d0S:
yp < d0.
An
exact proof term for the current goal is
(SNoLt_tra yp (add_SNo y0 r3) d0 HypS Hy0r3S Hd0S HypLt_y0r3 Hy0r3Lt_d0).
We prove the intermediate
claim HypLt_d0:
Rlt yp d0.
An
exact proof term for the current goal is
(RltI yp d0 HypR Hd0R HypLt_d0S).
We prove the intermediate
claim Hr3m3Lt:
r3 < m3.
An exact proof term for the current goal is Hr3m3S.
An
exact proof term for the current goal is
(add_SNo_Lt2 c r3 m3 HcS Hr3S Hm3S Hr3m3Lt).
We prove the intermediate
claim Hcm3Eq:
add_SNo c m3 = y0.
An
exact proof term for the current goal is
(SNo_minus_SNo c HcS).
An
exact proof term for the current goal is
(add_SNo_com c y0 HcS Hy0S).
rewrite the current goal using Hm3Def (from left to right).
rewrite the current goal using Hassoc1 (from left to right).
rewrite the current goal using Hcom1 (from left to right).
rewrite the current goal using Hassoc2 (from left to right).
rewrite the current goal using Hinv (from left to right).
An
exact proof term for the current goal is
(add_SNo_0R y0 Hy0S).
We prove the intermediate
claim Hcr3Lt_y0:
add_SNo c r3 < y0.
rewrite the current goal using Hcm3Eq (from right to left).
An exact proof term for the current goal is Hcr3Lt_cm3.
We prove the intermediate
claim Hcr3S:
SNo (add_SNo c r3).
We prove the intermediate
claim Hypr3S:
SNo (add_SNo yp r3).
An
exact proof term for the current goal is
(SNoLt_tra (add_SNo c r3) y0 (add_SNo yp r3) Hcr3S Hy0S Hypr3S Hcr3Lt_y0 Hy0Lt_ypr3).
rewrite the current goal using Hassoc1 (from left to right).
rewrite the current goal using Hcom1 (from left to right).
rewrite the current goal using Hassoc2 (from left to right).
rewrite the current goal using Hinv (from left to right).
An
exact proof term for the current goal is
(add_SNo_0R c HcS).
rewrite the current goal using Hassoc1 (from left to right).
rewrite the current goal using Hcom1 (from left to right).
rewrite the current goal using Hassoc2 (from left to right).
rewrite the current goal using Hinv (from left to right).
An
exact proof term for the current goal is
(add_SNo_0R yp HypS).
We prove the intermediate
claim HcySlt:
c < yp.
rewrite the current goal using HcancelLc (from right to left) at position 1.
rewrite the current goal using HcancelRyp (from right to left).
An exact proof term for the current goal is HtmpCy.
We prove the intermediate
claim HcyRlt:
Rlt c yp.
An
exact proof term for the current goal is
(RltI c yp HcR HypR HcySlt).
We prove the intermediate
claim HpEq:
p = (xp,yp).
We will
prove p = (xp,yp).
We prove the intermediate
claim HxpEq:
R2_xcoord p = xp.
Use symmetry.
An exact proof term for the current goal is HxpDef.
We prove the intermediate
claim HypEq:
R2_ycoord p = yp.
Use symmetry.
An exact proof term for the current goal is HypDef.
Use symmetry.
rewrite the current goal using HxpEq (from left to right) at position 1.
rewrite the current goal using HypEq (from left to right) at position 1.
An exact proof term for the current goal is Heta.
We prove the intermediate
claim HpProp:
∃x1 y1 : set, p = (x1,y1) ∧ Rlt a x1 ∧ Rlt x1 b0 ∧ Rlt c y1 ∧ Rlt y1 d0.
We use xp to witness the existential quantifier.
We use yp to witness the existential quantifier.
Apply and5I to the current goal.
An exact proof term for the current goal is HpEq.
An exact proof term for the current goal is HaxRlt.
An exact proof term for the current goal is HxpLt_b0.
An exact proof term for the current goal is HcyRlt.
An exact proof term for the current goal is HypLt_d0.
∎