Let X, Tx and Y be given.
We prove the intermediate
claim HYsub:
Y ⊆ X.
We prove the intermediate
claim HexU:
∃U ∈ Tx, Y = X ∖ U.
We prove the intermediate
claim HYparts:
Y ⊆ X ∧ ∃U ∈ Tx, Y = X ∖ U.
An
exact proof term for the current goal is
(andER (Y ⊆ X) (∃U ∈ Tx, Y = X ∖ U) HYparts).
Apply HexU to the current goal.
Let U be given.
We prove the intermediate
claim HUu:
U ∈ Tx.
An
exact proof term for the current goal is
(andEL (U ∈ Tx) (Y = X ∖ U) HUpair).
We prove the intermediate
claim HYeq:
Y = X ∖ U.
An
exact proof term for the current goal is
(andER (U ∈ Tx) (Y = X ∖ U) HUpair).
Let Fam be given.
We prove the intermediate
claim HFamSub:
Fam ⊆ Tx.
An
exact proof term for the current goal is
(andEL (Fam ⊆ Tx) (Y ⊆ ⋃ Fam) HFamcov).
We prove the intermediate
claim HYcovFam:
Y ⊆ ⋃ Fam.
An
exact proof term for the current goal is
(andER (Fam ⊆ Tx) (Y ⊆ ⋃ Fam) HFamcov).
Set CoverX to be the term
Fam ∪ {U}.
We prove the intermediate
claim HcoverX:
open_cover_of X Tx CoverX.
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 HTx.
Let V be given.
We prove the intermediate
claim HVTx:
V ∈ Tx.
An exact proof term for the current goal is (HFamSub V HVF).
We prove the intermediate
claim HVsub:
V ⊆ X.
An
exact proof term for the current goal is
(PowerI X V HVsub).
We prove the intermediate
claim HVe:
V = U.
An
exact proof term for the current goal is
(SingE U V HVU).
rewrite the current goal using HVe (from left to right).
We prove the intermediate
claim HUsub:
U ⊆ X.
An
exact proof term for the current goal is
(PowerI X U HUsub).
Let x be given.
We will
prove x ∈ ⋃ CoverX.
Apply (xm (x ∈ U)) to the current goal.
We prove the intermediate
claim HxY:
x ∈ Y.
rewrite the current goal using HYeq (from left to right).
An
exact proof term for the current goal is
(setminusI X U x HxX HxnotU).
We prove the intermediate
claim HxUFam:
x ∈ ⋃ Fam.
An exact proof term for the current goal is (HYcovFam x HxY).
Let V be given.
We will
prove x ∈ ⋃ CoverX.
An
exact proof term for the current goal is
(UnionI CoverX x V HxV (binunionI1 Fam {U} V HVF)).
Let V be given.
An exact proof term for the current goal is (HFamSub V HVF).
We prove the intermediate
claim HVe:
V = U.
An
exact proof term for the current goal is
(SingE U V HVU).
rewrite the current goal using HVe (from left to right).
An exact proof term for the current goal is HUu.
An exact proof term for the current goal is (HsubcoverX CoverX HcoverX).
Apply HfinCoverX to the current goal.
Let G be given.
We prove the intermediate
claim HGleft:
G ⊆ CoverX ∧ finite G.
An
exact proof term for the current goal is
(andEL (G ⊆ CoverX ∧ finite G) (X ⊆ ⋃ G) HG).
We prove the intermediate
claim HGsub:
G ⊆ CoverX.
An
exact proof term for the current goal is
(andEL (G ⊆ CoverX) (finite G) HGleft).
We prove the intermediate
claim HGfin:
finite G.
An
exact proof term for the current goal is
(andER (G ⊆ CoverX) (finite G) HGleft).
We prove the intermediate
claim HGcovX:
X ⊆ ⋃ G.
An
exact proof term for the current goal is
(andER (G ⊆ CoverX ∧ finite G) (X ⊆ ⋃ G) HG).
Set G1 to be the term
G ∖ {U}.
We prove the intermediate
claim HG1subG:
G1 ⊆ G.
We prove the intermediate
claim HG1fin:
finite G1.
An
exact proof term for the current goal is
(Subq_finite G HGfin G1 HG1subG).
We prove the intermediate
claim HG1subFam:
G1 ⊆ Fam.
Let V be given.
We prove the intermediate
claim HVG:
V ∈ G.
An
exact proof term for the current goal is
(setminusE1 G {U} V HVG1).
We prove the intermediate
claim HVnotU:
V ∉ {U}.
An
exact proof term for the current goal is
(setminusE2 G {U} V HVG1).
We prove the intermediate
claim HVinCover:
V ∈ CoverX.
An exact proof term for the current goal is (HGsub V HVG).
Apply (binunionE Fam {U} V HVinCover) to the current goal.
An exact proof term for the current goal is HVF.
Apply HVnotU to the current goal.
An exact proof term for the current goal is HVU.
We prove the intermediate
claim HYcovG1:
Y ⊆ ⋃ G1.
Let y be given.
We prove the intermediate
claim HyX:
y ∈ X.
An exact proof term for the current goal is (HYsub y HyY).
We prove the intermediate
claim HyUG:
y ∈ ⋃ G.
An exact proof term for the current goal is (HGcovX y HyX).
Let V be given.
We prove the intermediate
claim HVinCover:
V ∈ CoverX.
An exact proof term for the current goal is (HGsub V HVG).
We prove the intermediate
claim HVnotU:
V ∉ {U}.
Apply (binunionE Fam {U} V HVinCover) to the current goal.
We prove the intermediate
claim HVe:
V = U.
An
exact proof term for the current goal is
(SingE U V HVU).
We prove the intermediate
claim HyNotU:
y ∉ U.
We prove the intermediate
claim HyYU:
y ∈ X ∖ U.
rewrite the current goal using HYeq (from right to left) at position 1.
An exact proof term for the current goal is HyY.
An
exact proof term for the current goal is
(setminusE2 X U y HyYU).
Apply HyNotU to the current goal.
rewrite the current goal using HVe (from right to left).
An exact proof term for the current goal is HyV.
We prove the intermediate
claim HVe:
V = U.
An
exact proof term for the current goal is
(SingE U V HVU2).
We prove the intermediate
claim HyNotU:
y ∉ U.
We prove the intermediate
claim HyYU:
y ∈ X ∖ U.
rewrite the current goal using HYeq (from right to left) at position 1.
An exact proof term for the current goal is HyY.
An
exact proof term for the current goal is
(setminusE2 X U y HyYU).
Apply HyNotU to the current goal.
rewrite the current goal using HVe (from right to left).
An exact proof term for the current goal is HyV.
We prove the intermediate
claim HVG1:
V ∈ G1.
An
exact proof term for the current goal is
(setminusI G {U} V HVG HVnotU).
An
exact proof term for the current goal is
(UnionI G1 y V HyV HVG1).
We prove the intermediate
claim HG1left:
G1 ⊆ Fam ∧ finite G1.
Apply andI to the current goal.
An exact proof term for the current goal is HG1subFam.
An exact proof term for the current goal is HG1fin.
We prove the intermediate
claim HG1triple:
G1 ⊆ Fam ∧ finite G1 ∧ Y ⊆ ⋃ G1.
Apply andI to the current goal.
An exact proof term for the current goal is HG1left.
An exact proof term for the current goal is HYcovG1.
∎