Let p1 and p2 be given.
Apply (Sigma_E X (λ_ : set ⇒ Y) p1 Hp1) to the current goal.
Let x1 be given.
Assume Hx1_pair.
Apply Hx1_pair to the current goal.
Assume Hx1X Hexy1.
Apply Hexy1 to the current goal.
Let y1 be given.
Assume Hy1_pair.
Apply Hy1_pair to the current goal.
Assume Hy1Y Hp1eq.
Apply (Sigma_E X (λ_ : set ⇒ Y) p2 Hp2) to the current goal.
Let x2 be given.
Assume Hx2_pair.
Apply Hx2_pair to the current goal.
Assume Hx2X Hexy2.
Apply Hexy2 to the current goal.
Let y2 be given.
Assume Hy2_pair.
Apply Hy2_pair to the current goal.
Assume Hy2Y Hp2eq.
Apply (xm (x1 = x2)) to the current goal.
We prove the intermediate
claim Hy12:
y1 ≠ y2.
We prove the intermediate
claim HpEq:
p1 = p2.
rewrite the current goal using Hp1eq (from left to right).
rewrite the current goal using Hp2eq (from left to right).
rewrite the current goal using Hx12 (from left to right).
rewrite the current goal using HyEq (from left to right).
Use reflexivity.
An exact proof term for the current goal is (Hne HpEq).
Apply (HSepY y1 y2 Hy1Y Hy2Y Hy12) to the current goal.
Let U be given.
Assume HexV.
Apply HexV to the current goal.
Let V be given.
Assume HUV_conj.
Apply HUV_conj to the current goal.
Assume Hcore HUVempty.
Apply Hcore to the current goal.
Assume Hcore2 Hy2V.
Apply Hcore2 to the current goal.
Assume Hcore3 Hy1U.
Apply Hcore3 to the current goal.
Assume HU HV.
We use R1 to witness the existential quantifier.
We use R2 to witness the existential quantifier.
Apply andI to the current goal.
Apply andI to the current goal.
Apply andI to the current goal.
Apply andI to the current goal.
We prove the intermediate
claim HXTx:
X ∈ Tx.
An
exact proof term for the current goal is
(topology_has_X X Tx HTx).
An
exact proof term for the current goal is
(ReplI Ty (λV0 : set ⇒ rectangle_set X V0) U HU).
We prove the intermediate
claim HXTx:
X ∈ Tx.
An
exact proof term for the current goal is
(topology_has_X X Tx HTx).
An
exact proof term for the current goal is
(ReplI Ty (λV0 : set ⇒ rectangle_set X V0) V HV).
rewrite the current goal using Hp1eq (from left to right).
An
exact proof term for the current goal is
(pair_Sigma X (λ_ : set ⇒ U) x1 Hx1X y1 Hy1U).
rewrite the current goal using Hp2eq (from left to right).
rewrite the current goal using Hx12 (from right to left) at position 1.
An
exact proof term for the current goal is
(pair_Sigma X (λ_ : set ⇒ V) x1 Hx1X y2 Hy2V).
Let p be given.
Apply FalseE to the current goal.
We prove the intermediate
claim HpR1:
p ∈ R1.
An
exact proof term for the current goal is
(binintersectE1 R1 R2 p Hp).
We prove the intermediate
claim HpR2:
p ∈ R2.
An
exact proof term for the current goal is
(binintersectE2 R1 R2 p Hp).
We prove the intermediate
claim Hcoords1:
∃x ∈ X, ∃y ∈ U, p ∈ setprod {x} {y}.
Apply Hcoords1 to the current goal.
Let x be given.
Assume Hx_pair.
We prove the intermediate
claim HxX':
x ∈ X.
An
exact proof term for the current goal is
(andEL (x ∈ X) (∃y0 ∈ U, p ∈ setprod {x} {y0}) Hx_pair).
We prove the intermediate
claim Hexy:
∃y0 ∈ U, p ∈ setprod {x} {y0}.
An
exact proof term for the current goal is
(andER (x ∈ X) (∃y0 ∈ U, p ∈ setprod {x} {y0}) Hx_pair).
Apply Hexy to the current goal.
Let y be given.
Assume Hy_pair.
We prove the intermediate
claim HyU':
y ∈ U.
An
exact proof term for the current goal is
(andEL (y ∈ U) (p ∈ setprod {x} {y}) Hy_pair).
We prove the intermediate
claim Hpsing1:
p ∈ setprod {x} {y}.
An
exact proof term for the current goal is
(andER (y ∈ U) (p ∈ setprod {x} {y}) Hy_pair).
We prove the intermediate
claim Hcoords2:
∃x0 ∈ X, ∃y0 ∈ V, p ∈ setprod {x0} {y0}.
Apply Hcoords2 to the current goal.
Let x0 be given.
Assume Hx0_pair.
We prove the intermediate
claim Hexy0:
∃y0 ∈ V, p ∈ setprod {x0} {y0}.
An
exact proof term for the current goal is
(andER (x0 ∈ X) (∃y0 ∈ V, p ∈ setprod {x0} {y0}) Hx0_pair).
Apply Hexy0 to the current goal.
Let y0 be given.
Assume Hy0_pair.
We prove the intermediate
claim Hpsing2:
p ∈ setprod {x0} {y0}.
An
exact proof term for the current goal is
(andER (y0 ∈ V) (p ∈ setprod {x0} {y0}) Hy0_pair).
We prove the intermediate
claim HyV':
y ∈ V.
We prove the intermediate
claim HyUV:
y ∈ U ∩ V.
An
exact proof term for the current goal is
(binintersectI U V y HyU' HyV').
We prove the intermediate
claim HyE:
y ∈ Empty.
rewrite the current goal using HUVempty (from right to left).
An exact proof term for the current goal is HyUV.
An
exact proof term for the current goal is
(EmptyE y HyE False).
An
exact proof term for the current goal is
(Subq_Empty (R1 ∩ R2)).
Apply (HSepX x1 x2 Hx1X Hx2X Hx12n) to the current goal.
Let U be given.
Assume HexV.
Apply HexV to the current goal.
Let V be given.
Assume HUV_conj.
Apply HUV_conj to the current goal.
Assume Hcore HUVempty.
Apply Hcore to the current goal.
Assume Hcore2 Hx2V.
Apply Hcore2 to the current goal.
Assume Hcore3 Hx1U.
Apply Hcore3 to the current goal.
Assume HU HV.
We use R1 to witness the existential quantifier.
We use R2 to witness the existential quantifier.
Apply andI to the current goal.
Apply andI to the current goal.
Apply andI to the current goal.
Apply andI to the current goal.
We prove the intermediate
claim HYTy:
Y ∈ Ty.
An
exact proof term for the current goal is
(topology_has_X Y Ty HTy).
An
exact proof term for the current goal is
(ReplI Ty (λV0 : set ⇒ rectangle_set U V0) Y HYTy).
We prove the intermediate
claim HYTy:
Y ∈ Ty.
An
exact proof term for the current goal is
(topology_has_X Y Ty HTy).
An
exact proof term for the current goal is
(ReplI Ty (λV0 : set ⇒ rectangle_set V V0) Y HYTy).
rewrite the current goal using Hp1eq (from left to right).
An
exact proof term for the current goal is
(pair_Sigma U (λ_ : set ⇒ Y) x1 Hx1U y1 Hy1Y).
rewrite the current goal using Hp2eq (from left to right).
An
exact proof term for the current goal is
(pair_Sigma V (λ_ : set ⇒ Y) x2 Hx2V y2 Hy2Y).
Let p be given.
Apply FalseE to the current goal.
We prove the intermediate
claim HpR1:
p ∈ R1.
An
exact proof term for the current goal is
(binintersectE1 R1 R2 p Hp).
We prove the intermediate
claim HpR2:
p ∈ R2.
An
exact proof term for the current goal is
(binintersectE2 R1 R2 p Hp).
We prove the intermediate
claim Hcoords1:
∃x ∈ U, ∃y ∈ Y, p ∈ setprod {x} {y}.
Apply Hcoords1 to the current goal.
Let x be given.
Assume Hx_pair.
We prove the intermediate
claim HxU':
x ∈ U.
An
exact proof term for the current goal is
(andEL (x ∈ U) (∃y0 ∈ Y, p ∈ setprod {x} {y0}) Hx_pair).
We prove the intermediate
claim Hexy:
∃y0 ∈ Y, p ∈ setprod {x} {y0}.
An
exact proof term for the current goal is
(andER (x ∈ U) (∃y0 ∈ Y, p ∈ setprod {x} {y0}) Hx_pair).
Apply Hexy to the current goal.
Let y be given.
Assume Hy_pair.
We prove the intermediate
claim Hpsing1:
p ∈ setprod {x} {y}.
An
exact proof term for the current goal is
(andER (y ∈ Y) (p ∈ setprod {x} {y}) Hy_pair).
We prove the intermediate
claim Hcoords2:
∃x0 ∈ V, ∃y0 ∈ Y, p ∈ setprod {x0} {y0}.
Apply Hcoords2 to the current goal.
Let x0 be given.
Assume Hx0_pair.
We prove the intermediate
claim Hexy0:
∃y0 ∈ Y, p ∈ setprod {x0} {y0}.
An
exact proof term for the current goal is
(andER (x0 ∈ V) (∃y0 ∈ Y, p ∈ setprod {x0} {y0}) Hx0_pair).
Apply Hexy0 to the current goal.
Let y0 be given.
Assume Hy0_pair.
We prove the intermediate
claim Hpsing2:
p ∈ setprod {x0} {y0}.
An
exact proof term for the current goal is
(andER (y0 ∈ Y) (p ∈ setprod {x0} {y0}) Hy0_pair).
We prove the intermediate
claim HxV':
x ∈ V.
We prove the intermediate
claim HxUV:
x ∈ U ∩ V.
An
exact proof term for the current goal is
(binintersectI U V x HxU' HxV').
We prove the intermediate
claim HxE:
x ∈ Empty.
rewrite the current goal using HUVempty (from right to left).
An exact proof term for the current goal is HxUV.
An
exact proof term for the current goal is
(EmptyE x HxE False).
An
exact proof term for the current goal is
(Subq_Empty (R1 ∩ R2)).
∎