We prove the intermediate
claim HpRR:
p ∈ setprod R R.
Set x to be the term
p 0.
Set y to be the term
p 1.
We prove the intermediate
claim HxR:
x ∈ R.
An
exact proof term for the current goal is
(ap0_Sigma R (λ_ : set ⇒ R) p HpRR).
We prove the intermediate
claim HyR:
y ∈ R.
An
exact proof term for the current goal is
(ap1_Sigma R (λ_ : set ⇒ R) p HpRR).
We prove the intermediate
claim HdefR:
R = real.
We prove the intermediate
claim HxReal:
x ∈ real.
rewrite the current goal using HdefR (from right to left).
An exact proof term for the current goal is HxR.
We prove the intermediate
claim HyReal:
y ∈ real.
rewrite the current goal using HdefR (from right to left).
An exact proof term for the current goal is HyR.
We prove the intermediate
claim HxS:
SNo x.
An
exact proof term for the current goal is
(real_SNo x HxReal).
We prove the intermediate
claim HyS:
SNo y.
An
exact proof term for the current goal is
(real_SNo y HyReal).
We prove the intermediate
claim Hx1Real:
x1 ∈ real.
We prove the intermediate
claim Hy1Real:
y1 ∈ real.
We prove the intermediate
claim Hx1R:
x1 ∈ R.
rewrite the current goal using HdefR (from left to right).
An exact proof term for the current goal is Hx1Real.
We prove the intermediate
claim Hy1R:
y1 ∈ R.
rewrite the current goal using HdefR (from left to right).
An exact proof term for the current goal is Hy1Real.
We prove the intermediate
claim Hx1def:
x1 = add_SNo x 1.
We prove the intermediate
claim Hy1def:
y1 = add_SNo y 1.
We prove the intermediate
claim Hxltx1:
x < x1.
rewrite the current goal using Hx1def (from left to right).
We prove the intermediate
claim H0S:
SNo 0.
An
exact proof term for the current goal is
SNo_0.
We prove the intermediate
claim H1S:
SNo 1.
An
exact proof term for the current goal is
SNo_1.
We prove the intermediate
claim H0lt1:
0 < 1.
An
exact proof term for the current goal is
SNoLt_0_1.
An
exact proof term for the current goal is
(add_SNo_Lt2 x 0 1 HxS H0S H1S H0lt1).
rewrite the current goal using
(add_SNo_0R x HxS) (from right to left) at position 1.
An exact proof term for the current goal is Hx0ltx1.
We prove the intermediate
claim Hylt1:
y < y1.
rewrite the current goal using Hy1def (from left to right).
We prove the intermediate
claim H0S:
SNo 0.
An
exact proof term for the current goal is
SNo_0.
We prove the intermediate
claim H1S:
SNo 1.
An
exact proof term for the current goal is
SNo_1.
We prove the intermediate
claim H0lt1:
0 < 1.
An
exact proof term for the current goal is
SNoLt_0_1.
An
exact proof term for the current goal is
(add_SNo_Lt2 y 0 1 HyS H0S H1S H0lt1).
rewrite the current goal using
(add_SNo_0R y HyS) (from right to left) at position 1.
An exact proof term for the current goal is Hy0lty1.
We prove the intermediate
claim HRlt_x_x1:
Rlt x x1.
An
exact proof term for the current goal is
(RltI x x1 HxR Hx1R Hxltx1).
We prove the intermediate
claim HRlt_y_y1:
Rlt y y1.
An
exact proof term for the current goal is
(RltI y y1 HyR Hy1R Hylt1).
We prove the intermediate
claim HxU:
x ∈ U.
We prove the intermediate
claim HyV:
y ∈ V.
Let q be given.
We prove the intermediate
claim Hqeq:
q = p.
An
exact proof term for the current goal is
(SingE p q Hq).
rewrite the current goal using Hqeq (from left to right).
We prove the intermediate
claim Hpeta:
p = (p 0,p 1).
An
exact proof term for the current goal is
(setprod_eta R R p HpRR).
We prove the intermediate
claim Hxdef:
x = p 0.
We prove the intermediate
claim Hydef:
y = p 1.
We prove the intermediate
claim Hp0U:
p 0 ∈ U.
rewrite the current goal using Hxdef (from right to left).
An exact proof term for the current goal is HxU.
We prove the intermediate
claim Hp1V:
p 1 ∈ V.
rewrite the current goal using Hydef (from right to left).
An exact proof term for the current goal is HyV.
rewrite the current goal using Hpeta (from left to right) at position 1.
An exact proof term for the current goal is HpL.
Let q be given.
We prove the intermediate
claim HqUV:
q ∈ setprod U V.
An exact proof term for the current goal is HqW.
Set qx to be the term
q 0.
Set qy to be the term
q 1.
We prove the intermediate
claim HqRR:
q ∈ setprod R R.
We prove the intermediate
claim HqxR:
qx ∈ R.
An
exact proof term for the current goal is
(ap0_Sigma R (λ_ : set ⇒ R) q HqRR).
We prove the intermediate
claim HqyR:
qy ∈ R.
An
exact proof term for the current goal is
(ap1_Sigma R (λ_ : set ⇒ R) q HqRR).
We prove the intermediate
claim HqxS:
SNo qx.
We prove the intermediate
claim HqxReal:
qx ∈ real.
rewrite the current goal using HdefR (from right to left).
An exact proof term for the current goal is HqxR.
An
exact proof term for the current goal is
(real_SNo qx HqxReal).
We prove the intermediate
claim HqyS:
SNo qy.
We prove the intermediate
claim HqyReal:
qy ∈ real.
rewrite the current goal using HdefR (from right to left).
An exact proof term for the current goal is HqyR.
An
exact proof term for the current goal is
(real_SNo qy HqyReal).
We prove the intermediate
claim HqxU:
qx ∈ U.
An
exact proof term for the current goal is
(ap0_Sigma U (λ_ : set ⇒ V) q HqUV).
We prove the intermediate
claim HqyV:
qy ∈ V.
An
exact proof term for the current goal is
(ap1_Sigma U (λ_ : set ⇒ V) q HqUV).
We prove the intermediate
claim HqxCond:
¬ (Rlt qx x) ∧ Rlt qx x1.
An
exact proof term for the current goal is
(SepE2 R (λt : set ⇒ ¬ (Rlt t x) ∧ Rlt t x1) qx HqxU).
We prove the intermediate
claim HqyCond:
¬ (Rlt qy y) ∧ Rlt qy y1.
An
exact proof term for the current goal is
(SepE2 R (λt : set ⇒ ¬ (Rlt t y) ∧ Rlt t y1) qy HqyV).
We prove the intermediate
claim HnotRlt_qx_x:
¬ (Rlt qx x).
An
exact proof term for the current goal is
(andEL (¬ (Rlt qx x)) (Rlt qx x1) HqxCond).
We prove the intermediate
claim HnotRlt_qy_y:
¬ (Rlt qy y).
An
exact proof term for the current goal is
(andEL (¬ (Rlt qy y)) (Rlt qy y1) HqyCond).
We prove the intermediate
claim Hnotlt_qx_x:
¬ (qx < x).
Apply HnotRlt_qx_x to the current goal.
An
exact proof term for the current goal is
(RltI qx x HqxR HxR Hlt).
We prove the intermediate
claim Hqeq:
q = p.
Apply FalseE to the current goal.
Apply Hnotlt_qx_x to the current goal.
An exact proof term for the current goal is Hqxlt.
We prove the intermediate
claim Hpx:
apply_fun f x = p.
rewrite the current goal using Happ1p (from right to left).
We prove the intermediate
claim Hqpx:
apply_fun f qx = q.
rewrite the current goal using Happ1q (from right to left).
rewrite the current goal using Hqpx (from right to left).
rewrite the current goal using Hpx (from right to left).
rewrite the current goal using HqxEq (from left to right).
Use reflexivity.
Apply FalseE to the current goal.
We prove the intermediate
claim Hpx:
apply_fun f x = p.
rewrite the current goal using Happ1p (from right to left).
We prove the intermediate
claim Hqpx:
apply_fun f qx = q.
rewrite the current goal using Happ1q (from right to left).
We prove the intermediate
claim Hpeta:
p = (x,y).
An
exact proof term for the current goal is
(setprod_eta R R p HpRR).
We prove the intermediate
claim Hqeta:
q = (qx,qy).
An
exact proof term for the current goal is
(setprod_eta R R q HqRR).
We prove the intermediate
claim HpairP:
(x,yx) = (x,y).
We prove the intermediate
claim Hfx:
apply_fun f x = (x,yx).
rewrite the current goal using Hyxdef (from right to left).
Use reflexivity.
rewrite the current goal using Hpeta (from right to left).
rewrite the current goal using Hfx (from right to left).
An exact proof term for the current goal is Hpx.
We prove the intermediate
claim HyxEq:
yx = y.
We prove the intermediate
claim HpairQ:
(qx,yq) = (qx,qy).
We prove the intermediate
claim Hfq:
apply_fun f qx = (qx,yq).
rewrite the current goal using Hyqdef (from right to left).
Use reflexivity.
rewrite the current goal using Hqeta (from right to left).
rewrite the current goal using Hfq (from right to left).
An exact proof term for the current goal is Hqpx.
We prove the intermediate
claim HyqEq:
yq = qy.
We prove the intermediate
claim HRlt_x_qx:
Rlt x qx.
An
exact proof term for the current goal is
(RltI x qx HxR HqxR Hxlt).
We prove the intermediate
claim HRlt_yq_yx:
Rlt yq yx.
We prove the intermediate
claim Hbad:
Rlt qy y.
rewrite the current goal using HyqEq (from right to left).
rewrite the current goal using HyxEq (from right to left).
An exact proof term for the current goal is HRlt_yq_yx.
Apply HnotRlt_qy_y to the current goal.
An exact proof term for the current goal is Hbad.
rewrite the current goal using Hqeq (from left to right).
An
exact proof term for the current goal is
(SingI p).
We use
(rectangle_set U V) to
witness the existential quantifier.
Apply andI to the current goal.
An exact proof term for the current goal is HWopen.
An exact proof term for the current goal is HsingEq.
∎