Let A and B be given.
We prove the intermediate
claim H12:
A ⊆ X ∧ B ⊆ X.
We prove the intermediate
claim HAsubX:
A ⊆ X.
An
exact proof term for the current goal is
(andEL (A ⊆ X) (B ⊆ X) H12).
We prove the intermediate
claim HBsubX:
B ⊆ X.
An
exact proof term for the current goal is
(andER (A ⊆ X) (B ⊆ X) H12).
Set CA to be the term
closure_of X Tx A of type
set.
Set CB to be the term
closure_of X Tx B of type
set.
Set Y to be the term
X ∖ (CA ∩ CB) of type
set.
We prove the intermediate
claim HYsubX:
Y ⊆ X.
An
exact proof term for the current goal is
(setminus_Subq X (CA ∩ CB)).
An exact proof term for the current goal is (Hall Y HYsubX).
We prove the intermediate
claim HAsubY:
A ⊆ Y.
Let a be given.
We prove the intermediate
claim HaX:
a ∈ X.
An exact proof term for the current goal is (HAsubX a HaA).
We prove the intermediate
claim HanotCB:
a ∉ CB.
We prove the intermediate
claim HaACB:
a ∈ A ∩ CB.
An
exact proof term for the current goal is
(binintersectI A CB a HaA HaCB).
We prove the intermediate
claim HaE:
a ∈ Empty.
rewrite the current goal using H4 (from right to left).
An exact proof term for the current goal is HaACB.
An
exact proof term for the current goal is
(EmptyE a HaE).
We prove the intermediate
claim HanotCap:
a ∉ CA ∩ CB.
We prove the intermediate
claim HaCB:
a ∈ CB.
An
exact proof term for the current goal is
(binintersectE2 CA CB a HaCap).
An exact proof term for the current goal is (HanotCB HaCB).
An
exact proof term for the current goal is
(setminusI X (CA ∩ CB) a HaX HanotCap).
We prove the intermediate
claim HBsubY:
B ⊆ Y.
Let b be given.
We prove the intermediate
claim HbX:
b ∈ X.
An exact proof term for the current goal is (HBsubX b HbB).
We prove the intermediate
claim HbnotCA:
b ∉ CA.
We prove the intermediate
claim HbCAB:
b ∈ CA ∩ B.
An
exact proof term for the current goal is
(binintersectI CA B b HbCA HbB).
We prove the intermediate
claim HbE:
b ∈ Empty.
rewrite the current goal using H3 (from right to left).
An exact proof term for the current goal is HbCAB.
An
exact proof term for the current goal is
(EmptyE b HbE).
We prove the intermediate
claim HbnotCap:
b ∉ CA ∩ CB.
We prove the intermediate
claim HbCA:
b ∈ CA.
An
exact proof term for the current goal is
(binintersectE1 CA CB b HbCap).
An exact proof term for the current goal is (HbnotCA HbCA).
An
exact proof term for the current goal is
(setminusI X (CA ∩ CB) b HbX HbnotCap).
We prove the intermediate
claim HclAeq:
clA = CA ∩ Y.
We prove the intermediate
claim HclBeq:
clB = CB ∩ Y.
We prove the intermediate
claim HclAclBEmpty:
clA ∩ clB = Empty.
Let x be given.
We prove the intermediate
claim HxclA:
x ∈ clA.
An
exact proof term for the current goal is
(binintersectE1 clA clB x Hx).
We prove the intermediate
claim HxclB:
x ∈ clB.
An
exact proof term for the current goal is
(binintersectE2 clA clB x Hx).
We prove the intermediate
claim HxY:
x ∈ Y.
We prove the intermediate
claim HxCAcapY:
x ∈ CA ∩ Y.
rewrite the current goal using HclAeq (from right to left).
An exact proof term for the current goal is HxclA.
An
exact proof term for the current goal is
(binintersectE2 CA Y x HxCAcapY).
We prove the intermediate
claim HxnotCap:
x ∉ CA ∩ CB.
An
exact proof term for the current goal is
(setminusE2 X (CA ∩ CB) x HxY).
We prove the intermediate
claim HxCA:
x ∈ CA.
We prove the intermediate
claim HxCAcapY:
x ∈ CA ∩ Y.
rewrite the current goal using HclAeq (from right to left).
An exact proof term for the current goal is HxclA.
An
exact proof term for the current goal is
(binintersectE1 CA Y x HxCAcapY).
We prove the intermediate
claim HxCB:
x ∈ CB.
We prove the intermediate
claim HxCBcapY:
x ∈ CB ∩ Y.
rewrite the current goal using HclBeq (from right to left).
An exact proof term for the current goal is HxclB.
An
exact proof term for the current goal is
(binintersectE1 CB Y x HxCBcapY).
We prove the intermediate
claim HxCap:
x ∈ CA ∩ CB.
An
exact proof term for the current goal is
(binintersectI CA CB x HxCA HxCB).
An exact proof term for the current goal is (HxnotCap HxCap).
An exact proof term for the current goal is (HsepY clA clB HclAclosed HclBclosed HclAclBEmpty).
Apply HexUVY to the current goal.
Let U' be given.
Apply HU' to the current goal.
Let V' be given.
We prove the intermediate
claim HUVEmpty:
U' ∩ V' = Empty.
We prove the intermediate
claim H4V:
clB ⊆ V'.
We prove the intermediate
claim H3U:
clA ⊆ U'.
We prove the intermediate
claim HU'subY:
U' ⊆ Y.
We prove the intermediate
claim HV'subY:
V' ⊆ Y.
We prove the intermediate
claim HexU0:
∃U0 ∈ Tx, U' = U0 ∩ Y.
We prove the intermediate
claim HexV0:
∃V0 ∈ Tx, V' = V0 ∩ Y.
Apply HexU0 to the current goal.
Let U0 be given.
Apply HexV0 to the current goal.
Let V0 be given.
We prove the intermediate
claim HU0:
U0 ∈ Tx.
An
exact proof term for the current goal is
(andEL (U0 ∈ Tx) (U' = U0 ∩ Y) HU0pair).
We prove the intermediate
claim HU'eq:
U' = U0 ∩ Y.
An
exact proof term for the current goal is
(andER (U0 ∈ Tx) (U' = U0 ∩ Y) HU0pair).
We prove the intermediate
claim HV0:
V0 ∈ Tx.
An
exact proof term for the current goal is
(andEL (V0 ∈ Tx) (V' = V0 ∩ Y) HV0pair).
We prove the intermediate
claim HV'eq:
V' = V0 ∩ Y.
An
exact proof term for the current goal is
(andER (V0 ∈ Tx) (V' = V0 ∩ Y) HV0pair).
We prove the intermediate
claim HUV0subCap:
U0 ∩ V0 ⊆ CA ∩ CB.
Let x be given.
We prove the intermediate
claim HxU0:
x ∈ U0.
An
exact proof term for the current goal is
(binintersectE1 U0 V0 x HxUV).
We prove the intermediate
claim HxV0:
x ∈ V0.
An
exact proof term for the current goal is
(binintersectE2 U0 V0 x HxUV).
We prove the intermediate
claim HxX:
x ∈ X.
Apply (xm (x ∈ CA ∩ CB)) to the current goal.
An exact proof term for the current goal is HxCap.
We prove the intermediate
claim HxY:
x ∈ Y.
An
exact proof term for the current goal is
(setminusI X (CA ∩ CB) x HxX HxnotCap).
We prove the intermediate
claim HxU':
x ∈ U'.
rewrite the current goal using HU'eq (from left to right).
An
exact proof term for the current goal is
(binintersectI U0 Y x HxU0 HxY).
We prove the intermediate
claim HxV':
x ∈ V'.
rewrite the current goal using HV'eq (from left to right).
An
exact proof term for the current goal is
(binintersectI V0 Y x HxV0 HxY).
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'.
We will
prove x ∈ CA ∩ CB.
An
exact proof term for the current goal is
(EmptyE x HxE).
We prove the intermediate
claim HCAclosed:
closed_in X Tx CA.
We prove the intermediate
claim HCBclosed:
closed_in X Tx CB.
We prove the intermediate
claim HopCAc:
open_in X Tx (X ∖ CA).
We prove the intermediate
claim HopCBc:
open_in X Tx (X ∖ CB).
We prove the intermediate
claim HCAc_in:
X ∖ CA ∈ Tx.
An
exact proof term for the current goal is
(open_in_elem X Tx (X ∖ CA) HopCAc).
We prove the intermediate
claim HCBc_in:
X ∖ CB ∈ Tx.
An
exact proof term for the current goal is
(open_in_elem X Tx (X ∖ CB) HopCBc).
Set U to be the term
U0 ∩ (X ∖ CB) of type
set.
Set V to be the term
V0 ∩ (X ∖ CA) of type
set.
We prove the intermediate
claim HUinTx:
U ∈ Tx.
We prove the intermediate
claim HVinTx:
V ∈ Tx.
We use U to witness the existential quantifier.
We use V 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
(open_inI X Tx U HTx HUinTx).
An
exact proof term for the current goal is
(open_inI X Tx V HTx HVinTx).
Let a be given.
We prove the intermediate
claim HaU':
a ∈ U'.
We prove the intermediate
claim HAclA:
A ⊆ clA.
We prove the intermediate
claim Ha_clA:
a ∈ clA.
An exact proof term for the current goal is (HAclA a HaA).
An exact proof term for the current goal is (H3U a Ha_clA).
We prove the intermediate
claim HaU0:
a ∈ U0.
We prove the intermediate
claim HaU0capY:
a ∈ U0 ∩ Y.
rewrite the current goal using HU'eq (from right to left).
An exact proof term for the current goal is HaU'.
An
exact proof term for the current goal is
(binintersectE1 U0 Y a HaU0capY).
We prove the intermediate
claim HaX:
a ∈ X.
An exact proof term for the current goal is (HAsubX a HaA).
We prove the intermediate
claim HanotCB:
a ∉ CB.
We prove the intermediate
claim HaACB:
a ∈ A ∩ CB.
An
exact proof term for the current goal is
(binintersectI A CB a HaA HaCB).
We prove the intermediate
claim HaE:
a ∈ Empty.
rewrite the current goal using H4 (from right to left).
An exact proof term for the current goal is HaACB.
An
exact proof term for the current goal is
(EmptyE a HaE).
We prove the intermediate
claim HaXminusCB:
a ∈ X ∖ CB.
An
exact proof term for the current goal is
(setminusI X CB a HaX HanotCB).
An
exact proof term for the current goal is
(binintersectI U0 (X ∖ CB) a HaU0 HaXminusCB).
Let b be given.
We prove the intermediate
claim HbV':
b ∈ V'.
We prove the intermediate
claim HBclB:
B ⊆ clB.
We prove the intermediate
claim Hb_clB:
b ∈ clB.
An exact proof term for the current goal is (HBclB b HbB).
An exact proof term for the current goal is (H4V b Hb_clB).
We prove the intermediate
claim HbV0:
b ∈ V0.
We prove the intermediate
claim HbV0capY:
b ∈ V0 ∩ Y.
rewrite the current goal using HV'eq (from right to left).
An exact proof term for the current goal is HbV'.
An
exact proof term for the current goal is
(binintersectE1 V0 Y b HbV0capY).
We prove the intermediate
claim HbX:
b ∈ X.
An exact proof term for the current goal is (HBsubX b HbB).
We prove the intermediate
claim HbnotCA:
b ∉ CA.
We prove the intermediate
claim HbCAB:
b ∈ CA ∩ B.
An
exact proof term for the current goal is
(binintersectI CA B b HbCA HbB).
We prove the intermediate
claim HbE:
b ∈ Empty.
rewrite the current goal using H3 (from right to left).
An exact proof term for the current goal is HbCAB.
An
exact proof term for the current goal is
(EmptyE b HbE).
We prove the intermediate
claim HbXminusCA:
b ∈ X ∖ CA.
An
exact proof term for the current goal is
(setminusI X CA b HbX HbnotCA).
We prove the intermediate
claim HbV:
b ∈ V.
An
exact proof term for the current goal is
(binintersectI V0 (X ∖ CA) b HbV0 HbXminusCA).
An exact proof term for the current goal is HbV.
Let x be given.
We prove the intermediate
claim HxU:
x ∈ U.
An
exact proof term for the current goal is
(binintersectE1 U V x HxUV).
We prove the intermediate
claim HxV:
x ∈ V.
An
exact proof term for the current goal is
(binintersectE2 U V x HxUV).
We prove the intermediate
claim HxU0:
x ∈ U0.
An
exact proof term for the current goal is
(binintersectE1 U0 (X ∖ CB) x HxU).
We prove the intermediate
claim HxNotCB:
x ∉ CB.
We prove the intermediate
claim HxV0:
x ∈ V0.
An
exact proof term for the current goal is
(binintersectE1 V0 (X ∖ CA) x HxV).
We prove the intermediate
claim HxCap0:
x ∈ U0 ∩ V0.
An
exact proof term for the current goal is
(binintersectI U0 V0 x HxU0 HxV0).
We prove the intermediate
claim HxCap:
x ∈ CA ∩ CB.
An exact proof term for the current goal is (HUV0subCap x HxCap0).
We prove the intermediate
claim HxCB:
x ∈ CB.
An
exact proof term for the current goal is
(binintersectE2 CA CB x HxCap).
An exact proof term for the current goal is (HxNotCB HxCB).