Let x1 and x2 be given.
We will
prove ∃U0 V0 : set, U0 ∈ Tx ∧ V0 ∈ Tx ∧ x1 ∈ U0 ∧ x2 ∈ V0 ∧ U0 ∩ V0 = Empty.
Set p to be the term (x1,x2).
We prove the intermediate
claim HpNotD:
p ∉ D.
Apply (ReplE X (λt : set ⇒ (t,t)) p HpD) to the current goal.
Let z be given.
Assume Hzconj.
We prove the intermediate
claim Hpeq:
p = (z,z).
An
exact proof term for the current goal is
(andER (z ∈ X) (p = (z,z)) Hzconj).
We prove the intermediate
claim HpSing:
p ∈ setprod {x1} {x2}.
We prove the intermediate
claim HzzIn:
(z,z) ∈ setprod {x1} {x2}.
rewrite the current goal using Hpeq (from right to left).
An exact proof term for the current goal is HpSing.
We prove the intermediate
claim HzzSing:
(z,z) ∈ setprod {z} {z}.
We prove the intermediate
claim HzIn:
z ∈ {x1} ∧ z ∈ {x2}.
We prove the intermediate
claim Hzx1:
z ∈ {x1}.
An
exact proof term for the current goal is
(andEL (z ∈ {x1}) (z ∈ {x2}) HzIn).
We prove the intermediate
claim Hzx2:
z ∈ {x2}.
An
exact proof term for the current goal is
(andER (z ∈ {x1}) (z ∈ {x2}) HzIn).
We prove the intermediate
claim HzEqx1:
z = x1.
An
exact proof term for the current goal is
(SingE x1 z Hzx1).
We prove the intermediate
claim HzEqx2:
z = x2.
An
exact proof term for the current goal is
(SingE x2 z Hzx2).
We prove the intermediate
claim Hx12eq:
x1 = x2.
rewrite the current goal using HzEqx1 (from right to left).
rewrite the current goal using HzEqx2 (from left to right).
Use reflexivity.
An exact proof term for the current goal is (Hx12 Hx12eq).
We prove the intermediate
claim HpInU:
p ∈ U.
rewrite the current goal using HcompEq (from right to left).
An exact proof term for the current goal is (HUprop p HpInU).
Apply Hexb to the current goal.
Let b be given.
Assume Hbconj.
We prove the intermediate
claim Hpb:
p ∈ b.
We prove the intermediate
claim HbU:
b ⊆ U.
Let U0 be given.
Assume HU0conj.
We prove the intermediate
claim HU0Tx:
U0 ∈ Tx.
Let V0 be given.
Assume HV0conj.
We prove the intermediate
claim HV0Tx:
V0 ∈ Tx.
rewrite the current goal using Hbeq (from right to left).
An exact proof term for the current goal is Hpb.
We prove the intermediate
claim HpSing:
p ∈ setprod {x1} {x2}.
We prove the intermediate
claim Hcoords:
x1 ∈ U0 ∧ x2 ∈ V0.
An
exact proof term for the current goal is
(setprod_coords_in x1 x2 U0 V0 p HpSing HpbRect).
We prove the intermediate
claim Hx1U0:
x1 ∈ U0.
An
exact proof term for the current goal is
(andEL (x1 ∈ U0) (x2 ∈ V0) Hcoords).
We prove the intermediate
claim Hx2V0:
x2 ∈ V0.
An
exact proof term for the current goal is
(andER (x1 ∈ U0) (x2 ∈ V0) Hcoords).
We prove the intermediate
claim HUVempty:
U0 ∩ V0 = Empty.
Let z be given.
Apply FalseE to the current goal.
We prove the intermediate
claim HzU0:
z ∈ U0.
An
exact proof term for the current goal is
(binintersectE1 U0 V0 z Hz).
We prove the intermediate
claim HzV0:
z ∈ V0.
An
exact proof term for the current goal is
(binintersectE2 U0 V0 z Hz).
We prove the intermediate
claim HzX:
z ∈ X.
Set q to be the term (z,z).
We prove the intermediate
claim HqInb0:
q ∈ b.
rewrite the current goal using Hbeq (from left to right).
An exact proof term for the current goal is HqInb.
We prove the intermediate
claim HqInU:
q ∈ U.
An exact proof term for the current goal is (HbU q HqInb0).
We prove the intermediate
claim HqInD:
q ∈ D.
An
exact proof term for the current goal is
(ReplI X (λt : set ⇒ (t,t)) z HzX).
We prove the intermediate
claim HqNotU:
q ∉ U.
We prove the intermediate
claim HqXYU:
q ∈ setprod X X ∖ U.
rewrite the current goal using HDeq (from right to left).
An exact proof term for the current goal is HqInD.
An exact proof term for the current goal is (HqNotU HqInU).
An
exact proof term for the current goal is
(Subq_Empty (U0 ∩ V0)).
We use U0 to witness the existential quantifier.
We use V0 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.
An exact proof term for the current goal is HU0Tx.
An exact proof term for the current goal is HV0Tx.
An exact proof term for the current goal is Hx1U0.
An exact proof term for the current goal is Hx2V0.
An exact proof term for the current goal is HUVempty.