Let X, Tx and W be given.
We prove the intermediate
claim HWTx:
∀w : set, w ∈ W → w ∈ Tx.
An
exact proof term for the current goal is
(andEL (∀w : set, w ∈ W → w ∈ Tx) (covers X W) HWcov).
We prove the intermediate
claim HWcovers:
covers X W.
An
exact proof term for the current goal is
(andER (∀w : set, w ∈ W → w ∈ Tx) (covers X W) HWcov).
Set p to be the term
λF : set ⇒ ∀A : set, closed_in X Tx A → A ⊆ ⋃ F → (∀w : set, w ∈ F → w ∈ Tx) → ∃V : set, finite V ∧ (∀v : set, v ∈ V → v ∈ Tx) ∧ A ⊆ ⋃ V ∧ ∀v : set, v ∈ V → ∃w : set, w ∈ F ∧ closure_of X Tx v ⊆ w.
We prove the intermediate
claim HpEmpty:
p Empty.
Let A be given.
We use
Empty to
witness the existential quantifier.
Apply and4I to the current goal.
Let v be given.
An
exact proof term for the current goal is
(EmptyE v Hv (v ∈ Tx)).
An exact proof term for the current goal is HAU.
We prove the intermediate
claim HpStep:
∀F y : set, finite F → y ∉ F → p F → p (F ∪ {y}).
Let F and y be given.
Assume HpF: p F.
Let A be given.
We prove the intermediate
claim HFtx:
∀w : set, w ∈ F → w ∈ Tx.
Let w be given.
An
exact proof term for the current goal is
(HFTx w (binunionI1 F {y} w HwF)).
We prove the intermediate
claim HyTx:
y ∈ Tx.
Set A1 to be the term
A ∖ y.
We prove the intermediate
claim HA1cl:
closed_in X Tx A1.
We prove the intermediate
claim HcY:
closed_in X Tx (X ∖ y).
We prove the intermediate
claim HA1eq:
A1 = A ∩ (X ∖ y).
Let x be given.
We will
prove x ∈ A ∩ (X ∖ y).
We prove the intermediate
claim Hxpair:
x ∈ A ∧ x ∉ y.
An
exact proof term for the current goal is
(setminusE A y x HxA1).
We prove the intermediate
claim HxA:
x ∈ A.
An
exact proof term for the current goal is
(andEL (x ∈ A) (x ∉ y) Hxpair).
We prove the intermediate
claim Hxny:
x ∉ y.
An
exact proof term for the current goal is
(andER (x ∈ A) (x ∉ y) Hxpair).
We prove the intermediate
claim HxX:
x ∈ X.
Let x be given.
We prove the intermediate
claim HxA:
x ∈ A.
An
exact proof term for the current goal is
(binintersectE1 A (X ∖ y) x Hx).
We prove the intermediate
claim HxXny:
x ∈ X ∖ y.
An
exact proof term for the current goal is
(binintersectE2 A (X ∖ y) x Hx).
We prove the intermediate
claim Hxny:
x ∉ y.
An
exact proof term for the current goal is
(setminusE2 X y x HxXny).
An
exact proof term for the current goal is
(setminusI A y x HxA Hxny).
rewrite the current goal using HA1eq (from left to right).
We prove the intermediate
claim HA1sub:
A1 ⊆ ⋃ F.
Let x be given.
We prove the intermediate
claim HxA:
x ∈ A.
An
exact proof term for the current goal is
(setminusE1 A y x HxA1).
We prove the intermediate
claim Hxny:
x ∉ y.
An
exact proof term for the current goal is
(setminusE2 A y x HxA1).
We prove the intermediate
claim HxUFy:
x ∈ ⋃ (F ∪ {y}).
An exact proof term for the current goal is (HAU x HxA).
Let U be given.
An
exact proof term for the current goal is
(UnionI F x U HxU HUF).
We prove the intermediate
claim HUeq:
U = y.
An
exact proof term for the current goal is
(SingE y U HUy).
Apply FalseE to the current goal.
We prove the intermediate
claim Hxy:
x ∈ y.
rewrite the current goal using HUeq (from right to left).
An exact proof term for the current goal is HxU.
An exact proof term for the current goal is (Hxny Hxy).
We prove the intermediate
claim HexV1:
∃V1 : set, finite V1 ∧ (∀v : set, v ∈ V1 → v ∈ Tx) ∧ A1 ⊆ ⋃ V1 ∧ ∀v : set, v ∈ V1 → ∃w : set, w ∈ F ∧ closure_of X Tx v ⊆ w.
An exact proof term for the current goal is (HpF A1 HA1cl HA1sub HFtx).
Apply HexV1 to the current goal.
Let V1 be given.
We prove the intermediate
claim HV1Tx:
∀v : set, v ∈ V1 → v ∈ Tx.
Apply (and4E (finite V1) (∀v : set, v ∈ V1 → v ∈ Tx) (A1 ⊆ ⋃ V1) (∀v : set, v ∈ V1 → ∃w : set, w ∈ F ∧ closure_of X Tx v ⊆ w) HV1) to the current goal.
Assume Hfin Htx Hsub Hmap.
An exact proof term for the current goal is Htx.
We prove the intermediate
claim HA1V1:
A1 ⊆ ⋃ V1.
Apply (and4E (finite V1) (∀v : set, v ∈ V1 → v ∈ Tx) (A1 ⊆ ⋃ V1) (∀v : set, v ∈ V1 → ∃w : set, w ∈ F ∧ closure_of X Tx v ⊆ w) HV1) to the current goal.
Assume Hfin Htx Hsub Hmap.
An exact proof term for the current goal is Hsub.
We prove the intermediate
claim HV1clmap:
∀v : set, v ∈ V1 → ∃w : set, w ∈ F ∧ closure_of X Tx v ⊆ w.
Apply (and4E (finite V1) (∀v : set, v ∈ V1 → v ∈ Tx) (A1 ⊆ ⋃ V1) (∀v : set, v ∈ V1 → ∃w : set, w ∈ F ∧ closure_of X Tx v ⊆ w) HV1) to the current goal.
Assume Hfin Htx Hsub Hmap.
An exact proof term for the current goal is Hmap.
We prove the intermediate
claim HV1fin:
finite V1.
Apply (and4E (finite V1) (∀v : set, v ∈ V1 → v ∈ Tx) (A1 ⊆ ⋃ V1) (∀v : set, v ∈ V1 → ∃w : set, w ∈ F ∧ closure_of X Tx v ⊆ w) HV1) to the current goal.
Assume Hfin Htx Hsub Hmap.
An exact proof term for the current goal is Hfin.
We prove the intermediate
claim HUnionV1Tx:
⋃ V1 ∈ Tx.
We prove the intermediate
claim HV1subTx:
V1 ⊆ Tx.
Let v be given.
An exact proof term for the current goal is (HV1Tx v Hv).
Set B to be the term
A ∖ ⋃ V1.
We prove the intermediate
claim HBcl:
closed_in X Tx B.
We prove the intermediate
claim HcComp:
closed_in X Tx (X ∖ ⋃ V1).
We prove the intermediate
claim HBeq:
B = A ∩ (X ∖ ⋃ V1).
Let x be given.
We will
prove x ∈ A ∩ (X ∖ ⋃ V1).
We prove the intermediate
claim HxA:
x ∈ A.
An
exact proof term for the current goal is
(setminusE1 A (⋃ V1) x HxB).
We prove the intermediate
claim HxNotUV1:
x ∉ ⋃ V1.
An
exact proof term for the current goal is
(setminusE2 A (⋃ V1) x HxB).
We prove the intermediate
claim HAsubX:
A ⊆ X.
We prove the intermediate
claim HxX:
x ∈ X.
An exact proof term for the current goal is (HAsubX x HxA).
Let x be given.
We prove the intermediate
claim HxA:
x ∈ A.
We prove the intermediate
claim HxXc:
x ∈ X ∖ ⋃ V1.
We prove the intermediate
claim HxNotUV1:
x ∉ ⋃ V1.
An
exact proof term for the current goal is
(setminusE2 X (⋃ V1) x HxXc).
An
exact proof term for the current goal is
(setminusI A (⋃ V1) x HxA HxNotUV1).
rewrite the current goal using HBeq (from left to right).
We prove the intermediate
claim HBsuby:
B ⊆ y.
Let x be given.
We prove the intermediate
claim HxA:
x ∈ A.
An
exact proof term for the current goal is
(setminusE1 A (⋃ V1) x HxB).
We prove the intermediate
claim HxNotUV1:
x ∉ ⋃ V1.
An
exact proof term for the current goal is
(setminusE2 A (⋃ V1) x HxB).
Apply (xm (x ∈ y)) to the current goal.
An exact proof term for the current goal is Hxy.
We prove the intermediate
claim HxA1:
x ∈ A1.
An
exact proof term for the current goal is
(setminusI A y x HxA Hxny).
We prove the intermediate
claim HxUV1:
x ∈ ⋃ V1.
An exact proof term for the current goal is (HA1V1 x HxA1).
Apply FalseE to the current goal.
An exact proof term for the current goal is (HxNotUV1 HxUV1).
We prove the intermediate
claim HexV2:
∃V2 : set, V2 ∈ Tx ∧ B ⊆ V2 ∧ closure_of X Tx V2 ⊆ y.
Apply HexV2 to the current goal.
Let V2 be given.
We prove the intermediate
claim HV2Tx:
V2 ∈ Tx.
Assume H1 H2 H3.
An exact proof term for the current goal is H1.
We prove the intermediate
claim HBV2:
B ⊆ V2.
Assume H1 H2 H3.
An exact proof term for the current goal is H2.
We prove the intermediate
claim HV2clsub:
closure_of X Tx V2 ⊆ y.
Assume H1 H2 H3.
An exact proof term for the current goal is H3.
Set V to be the term
V1 ∪ {V2}.
We use V to witness the existential quantifier.
Apply and4I to the current goal.
Let v be given.
An exact proof term for the current goal is (HV1Tx v Hv1).
We prove the intermediate
claim Heq:
v = V2.
An
exact proof term for the current goal is
(SingE V2 v Hv2).
rewrite the current goal using Heq (from left to right).
An exact proof term for the current goal is HV2Tx.
Let x be given.
We prove the intermediate
claim HUnionEq:
⋃ V = (⋃ V1) ∪ V2.
rewrite the current goal using HUnionEq (from left to right).
Apply (xm (x ∈ ⋃ V1)) to the current goal.
An
exact proof term for the current goal is
(binunionI1 (⋃ V1) V2 x HxUV1).
We prove the intermediate
claim HxB:
x ∈ B.
An
exact proof term for the current goal is
(setminusI A (⋃ V1) x HxA HxNotUV1).
We prove the intermediate
claim HxV2:
x ∈ V2.
An exact proof term for the current goal is (HBV2 x HxB).
An
exact proof term for the current goal is
(binunionI2 (⋃ V1) V2 x HxV2).
Let v be given.
We prove the intermediate
claim Hexw:
∃w : set, w ∈ F ∧ closure_of X Tx v ⊆ w.
An exact proof term for the current goal is (HV1clmap v Hv1).
Apply Hexw 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
(andER (w ∈ F) (closure_of X Tx v ⊆ w) Hw).
We prove the intermediate
claim Heq:
v = V2.
An
exact proof term for the current goal is
(SingE V2 v Hv2).
rewrite the current goal using Heq (from left to right).
We use y to witness the existential quantifier.
Apply andI to the current goal.
An exact proof term for the current goal is HV2clsub.
We prove the intermediate claim HpW: p W.
An
exact proof term for the current goal is
(finite_ind p HpEmpty HpStep W HWfin).
We prove the intermediate
claim HXcl:
closed_in X Tx X.
An
exact proof term for the current goal is
(X_is_closed X Tx HTx).
We prove the intermediate
claim HXsubUnionW:
X ⊆ ⋃ W.
Let x be given.
We prove the intermediate
claim Hexw:
∃w : set, w ∈ W ∧ x ∈ w.
An exact proof term for the current goal is (HWcovers x HxX).
Apply Hexw to the current goal.
Let w be given.
An
exact proof term for the current goal is
(UnionI W x w (andER (w ∈ W) (x ∈ w) Hw) (andEL (w ∈ W) (x ∈ w) Hw)).
We prove the intermediate
claim HexV:
∃V : set, finite V ∧ (∀v : set, v ∈ V → v ∈ Tx) ∧ X ⊆ ⋃ V ∧ ∀v : set, v ∈ V → ∃w : set, w ∈ W ∧ closure_of X Tx v ⊆ w.
An exact proof term for the current goal is (HpW X HXcl HXsubUnionW HWTx).
Apply HexV to the current goal.
Let V be given.
We prove the intermediate
claim HVfin:
finite V.
Assume Hfin Htx Hsub Hmap.
An exact proof term for the current goal is Hfin.
We prove the intermediate
claim HVTx:
∀v : set, v ∈ V → v ∈ Tx.
Assume Hfin Htx Hsub Hmap.
An exact proof term for the current goal is Htx.
We prove the intermediate
claim HXUnionV:
X ⊆ ⋃ V.
Assume Hfin Htx Hsub Hmap.
An exact proof term for the current goal is Hsub.
We prove the intermediate
claim HVclmap:
∀v : set, v ∈ V → ∃w : set, w ∈ W ∧ closure_of X Tx v ⊆ w.
Assume Hfin Htx Hsub Hmap.
An exact proof term for the current goal is Hmap.
We use V to witness the existential quantifier.
Apply and4I to the current goal.
We will
prove (∀v : set, v ∈ V → v ∈ Tx) ∧ covers X V.
Apply andI to the current goal.
An exact proof term for the current goal is HVTx.
Let x be given.
We prove the intermediate
claim HxUV:
x ∈ ⋃ V.
An exact proof term for the current goal is (HXUnionV x HxX).
Apply (UnionE V x HxUV) to the current goal.
Let U be given.
We use U to witness the existential quantifier.
Apply andI to the current goal.
An
exact proof term for the current goal is
(andER (x ∈ U) (U ∈ V) HU).
An
exact proof term for the current goal is
(andEL (x ∈ U) (U ∈ V) HU).
An exact proof term for the current goal is HVfin.
Let v be given.
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 (HVclmap v HvV).
Apply Hexw 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 (w ∈ W) (closure_of X Tx v ⊆ w) Hw).
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).
An
exact proof term for the current goal is
((andER (w ∈ W) (closure_of X Tx v ⊆ w) Hw) x Hxcl).
Let v be given.
Apply (HVclmap v HvV) to the current goal.
∎