Let X, Tx, A and F be given.
We prove the intermediate
claim HexU:
∃U : set, U ∈ Tx ∧ A = X ∖ U.
Apply HexU to the current goal.
Let U be given.
We prove the intermediate
claim HUTx:
U ∈ Tx.
An
exact proof term for the current goal is
(andEL (U ∈ Tx) (A = X ∖ U) HU).
We prove the intermediate
claim HAeq:
A = X ∖ U.
An
exact proof term for the current goal is
(andER (U ∈ Tx) (A = X ∖ U) HU).
Set W to be the term
F ∪ {U}.
We prove the intermediate
claim HWfin:
finite W.
We prove the intermediate
claim HWcov:
open_cover X Tx W.
We will
prove (∀w : set, w ∈ W → w ∈ Tx) ∧ covers X W.
Apply andI to the current goal.
Let w be given.
An exact proof term for the current goal is (HFTx w HwF).
We prove the intermediate
claim Heq:
w = U.
An
exact proof term for the current goal is
(SingE U w HwU).
rewrite the current goal using Heq (from left to right).
An exact proof term for the current goal is HUTx.
Let x be given.
Apply (xm (x ∈ A)) to the current goal.
We prove the intermediate
claim HxUF:
x ∈ ⋃ F.
An exact proof term for the current goal is (HAUF x HxA).
Apply (UnionE F x HxUF) to the current goal.
Let w be given.
We use w to witness the existential quantifier.
Apply andI to the current goal.
An
exact proof term for the current goal is
(andEL (x ∈ w) (w ∈ F) Hw).
We prove the intermediate
claim HxU:
x ∈ U.
Apply (xm (x ∈ U)) to the current goal.
An exact proof term for the current goal is HxU.
We prove the intermediate
claim HxA2:
x ∈ A.
rewrite the current goal using HAeq (from left to right).
An
exact proof term for the current goal is
(setminusI X U x HxX HxnotU).
Apply FalseE to the current goal.
An exact proof term for the current goal is (HxnotA HxA2).
We use U to witness the existential quantifier.
Apply andI to the current goal.
An exact proof term for the current goal is HxU.
Apply HexV to the current goal.
Let V be given.
We prove the intermediate
claim HVopen:
open_cover X Tx V.
Assume Hcov Hfin Hsub Hcl.
An exact proof term for the current goal is Hcov.
We prove the intermediate
claim HVfin:
finite V.
Assume Hcov Hfin Hsub Hcl.
An exact proof term for the current goal is Hfin.
We prove the intermediate
claim HVclmapW:
∀v : set, v ∈ V → ∃w : set, w ∈ W ∧ closure_of X Tx v ⊆ w.
Assume Hcov Hfin Hsub Hcl.
An exact proof term for the current goal is Hcl.
We prove the intermediate
claim HVTx:
∀v : set, v ∈ V → v ∈ Tx.
An
exact proof term for the current goal is
(andEL (∀v : set, v ∈ V → v ∈ Tx) (covers X V) HVopen).
We use
{v ∈ V|v ∩ A ≠ Empty} to
witness the existential quantifier.
We prove the intermediate
claim HV0subV:
V0 ⊆ V.
Let v be given.
An
exact proof term for the current goal is
(SepE1 V (λv0 : set ⇒ v0 ∩ A ≠ Empty) v Hv0).
We prove the intermediate
claim HV0fin:
finite V0.
An
exact proof term for the current goal is
(Subq_finite V HVfin V0 HV0subV).
We prove the intermediate
claim HV0Tx:
∀v : set, v ∈ V0 → v ∈ Tx.
Let v be given.
An exact proof term for the current goal is (HVTx v (HV0subV v Hv0)).
We prove the intermediate
claim HAUnionV0:
A ⊆ ⋃ V0.
Let x be given.
We prove the intermediate
claim HxX:
x ∈ X.
We prove the intermediate
claim Hexv:
∃v : set, v ∈ V ∧ x ∈ v.
An
exact proof term for the current goal is
(andER (∀v : set, v ∈ V → v ∈ Tx) (covers X V) HVopen x HxX).
Apply Hexv to the current goal.
Let v be given.
We prove the intermediate
claim HvV:
v ∈ V.
An
exact proof term for the current goal is
(andEL (v ∈ V) (x ∈ v) Hv).
We prove the intermediate
claim Hxv:
x ∈ v.
An
exact proof term for the current goal is
(andER (v ∈ V) (x ∈ v) Hv).
We prove the intermediate
claim Hv0:
v ∈ V0.
Apply (SepI V (λv0 : set ⇒ v0 ∩ A ≠ Empty) v HvV) to the current goal.
We prove the intermediate
claim HxvA:
x ∈ v ∩ A.
An
exact proof term for the current goal is
(binintersectI v A x Hxv HxA).
An
exact proof term for the current goal is
(UnionI V0 x v Hxv Hv0).
Apply and4I to the current goal.
An exact proof term for the current goal is HV0fin.
An exact proof term for the current goal is HV0Tx.
An exact proof term for the current goal is HAUnionV0.
Let v be given.
We prove the intermediate
claim HvV:
v ∈ V.
An exact proof term for the current goal is (HV0subV v Hv0).
We prove the intermediate
claim HvNonempty:
v ∩ A ≠ Empty.
An
exact proof term for the current goal is
(SepE2 V (λv0 : set ⇒ v0 ∩ A ≠ Empty) v Hv0).
We prove the intermediate
claim Hexw:
∃w : set, w ∈ W ∧ closure_of X Tx v ⊆ w.
An exact proof term for the current goal is (HVclmapW v HvV).
Apply Hexw to the current goal.
Let w be given.
We prove the intermediate
claim HwW:
w ∈ W.
An
exact proof term for the current goal is
(andEL (w ∈ W) (closure_of X Tx v ⊆ w) Hw).
We prove the intermediate
claim Hclsub:
closure_of X Tx v ⊆ w.
An
exact proof term for the current goal is
(andER (w ∈ W) (closure_of X Tx v ⊆ w) Hw).
We use w to witness the existential quantifier.
Apply andI to the current goal.
An exact proof term for the current goal is HwF.
An exact proof term for the current goal is Hclsub.
We prove the intermediate
claim Heq:
w = U.
An
exact proof term for the current goal is
(SingE U w HwU).
We prove the intermediate
claim HvsubU:
v ⊆ U.
Let x be given.
We prove the intermediate
claim HvsubX:
v ⊆ X.
We prove the intermediate
claim Hxcl:
x ∈ closure_of X Tx v.
An
exact proof term for the current goal is
(subset_of_closure X Tx v HTx HvsubX x Hxv).
We prove the intermediate
claim HxU:
x ∈ U.
rewrite the current goal using Heq (from right to left).
An exact proof term for the current goal is (Hclsub x Hxcl).
An exact proof term for the current goal is HxU.
We prove the intermediate
claim HvAempty:
v ∩ A = Empty.
Let x be given.
We prove the intermediate
claim Hxv:
x ∈ v.
An
exact proof term for the current goal is
(binintersectE1 v A x Hx).
We prove the intermediate
claim HxA:
x ∈ A.
An
exact proof term for the current goal is
(binintersectE2 v A x Hx).
We prove the intermediate
claim HxU:
x ∈ U.
An exact proof term for the current goal is (HvsubU x Hxv).
We prove the intermediate
claim HxnotU:
x ∉ U.
We prove the intermediate
claim HxA2:
x ∈ X ∖ U.
rewrite the current goal using HAeq (from right to left).
An exact proof term for the current goal is HxA.
An
exact proof term for the current goal is
(setminusE2 X U x HxA2).
Apply FalseE to the current goal.
An exact proof term for the current goal is (HxnotU HxU).
Apply FalseE to the current goal.
An exact proof term for the current goal is (HvNonempty HvAempty).
∎