Let A and B be given.
We prove the intermediate
claim HregSep:
∀x : set, x ∈ X → ∀F : set, closed_in X Tx F → x ∉ F → ∃U V : set, U ∈ Tx ∧ V ∈ Tx ∧ x ∈ U ∧ F ⊆ V ∧ U ∩ V = Empty.
We prove the intermediate
claim HAsubX:
A ⊆ X.
We prove the intermediate
claim HBsubX:
B ⊆ X.
Set sepU to be the term
λa : set ⇒ Eps_i (λU : set ⇒ ∃V : set, U ∈ Tx ∧ V ∈ Tx ∧ a ∈ U ∧ B ⊆ V ∧ U ∩ V = Empty).
Set sepV to be the term
λa : set ⇒ Eps_i (λV : set ⇒ (sepU a) ∈ Tx ∧ V ∈ Tx ∧ a ∈ (sepU a) ∧ B ⊆ V ∧ (sepU a) ∩ V = Empty).
We prove the intermediate
claim HsepProp:
∀a : set, a ∈ A → (sepU a) ∈ Tx ∧ (sepV a) ∈ Tx ∧ a ∈ (sepU a) ∧ B ⊆ (sepV a) ∧ (sepU a) ∩ (sepV a) = Empty.
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 HaNotB:
a ∉ B.
We prove the intermediate
claim HaAB:
a ∈ A ∩ B.
An
exact proof term for the current goal is
(binintersectI A B a HaA HaB).
We prove the intermediate
claim HaEmpty:
a ∈ Empty.
rewrite the current goal using Hdisj (from right to left).
An exact proof term for the current goal is HaAB.
An
exact proof term for the current goal is
((EmptyE a) HaEmpty).
We prove the intermediate
claim HexSep:
∃U V : set, U ∈ Tx ∧ V ∈ Tx ∧ a ∈ U ∧ B ⊆ V ∧ U ∩ V = Empty.
An exact proof term for the current goal is (HregSep a HaX B HBcl HaNotB).
We prove the intermediate
claim HexU:
∃U : set, ∃V : set, U ∈ Tx ∧ V ∈ Tx ∧ a ∈ U ∧ B ⊆ V ∧ U ∩ V = Empty.
An exact proof term for the current goal is HexSep.
We prove the intermediate
claim HsepUex:
∃V : set, (sepU a) ∈ Tx ∧ V ∈ Tx ∧ a ∈ (sepU a) ∧ B ⊆ V ∧ (sepU a) ∩ V = Empty.
An
exact proof term for the current goal is
(Eps_i_ex (λU : set ⇒ ∃V : set, U ∈ Tx ∧ V ∈ Tx ∧ a ∈ U ∧ B ⊆ V ∧ U ∩ V = Empty) HexU).
We prove the intermediate
claim HexV:
∃V : set, (sepU a) ∈ Tx ∧ V ∈ Tx ∧ a ∈ (sepU a) ∧ B ⊆ V ∧ (sepU a) ∩ V = Empty.
An exact proof term for the current goal is HsepUex.
An
exact proof term for the current goal is
(Eps_i_ex (λV : set ⇒ (sepU a) ∈ Tx ∧ V ∈ Tx ∧ a ∈ (sepU a) ∧ B ⊆ V ∧ (sepU a) ∩ V = Empty) HexV).
Set U0 to be the term
X ∖ A.
We prove the intermediate
claim HU0Tx:
U0 ∈ Tx.
We prove the intermediate
claim HU0open:
open_in X Tx U0.
An
exact proof term for the current goal is
(open_in_elem X Tx U0 HU0open).
Set UFam to be the term
{sepU a|a ∈ A}.
Set Cover to be the term
{U0} ∪ UFam.
We prove the intermediate
claim HCoverOpen:
∀u : set, u ∈ Cover → u ∈ Tx.
Let u be given.
We prove the intermediate
claim Hueq:
u = U0.
An
exact proof term for the current goal is
(SingE U0 u Hu0).
rewrite the current goal using Hueq (from left to right).
An exact proof term for the current goal is HU0Tx.
Apply (ReplE_impred A (λa : set ⇒ sepU a) u HuU (u ∈ Tx)) to the current goal.
Let a be given.
We prove the intermediate
claim Hsep:
(sepU a) ∈ Tx ∧ (sepV a) ∈ Tx ∧ a ∈ (sepU a) ∧ B ⊆ (sepV a) ∧ (sepU a) ∩ (sepV a) = Empty.
An exact proof term for the current goal is (HsepProp a HaA).
rewrite the current goal using Hueq (from left to right).
We prove the intermediate
claim Hpqrs:
(((sepU a) ∈ Tx ∧ (sepV a) ∈ Tx) ∧ a ∈ (sepU a)) ∧ B ⊆ (sepV a).
An
exact proof term for the current goal is
(andEL ((((sepU a) ∈ Tx ∧ (sepV a) ∈ Tx) ∧ a ∈ (sepU a)) ∧ B ⊆ (sepV a)) ((sepU a) ∩ (sepV a) = Empty) Hsep).
We prove the intermediate
claim Hpqr:
((sepU a) ∈ Tx ∧ (sepV a) ∈ Tx) ∧ a ∈ (sepU a).
An
exact proof term for the current goal is
(andEL (((sepU a) ∈ Tx ∧ (sepV a) ∈ Tx) ∧ a ∈ (sepU a)) (B ⊆ (sepV a)) Hpqrs).
We prove the intermediate
claim Hpq:
(sepU a) ∈ Tx ∧ (sepV a) ∈ Tx.
An
exact proof term for the current goal is
(andEL ((sepU a) ∈ Tx ∧ (sepV a) ∈ Tx) (a ∈ (sepU a)) Hpqr).
An
exact proof term for the current goal is
(andEL ((sepU a) ∈ Tx) ((sepV a) ∈ Tx) Hpq).
An exact proof term for the current goal is Hu.
We prove the intermediate
claim HCoverCovers:
covers X Cover.
Let x be given.
Apply (xm (x ∈ A)) to the current goal.
We use (sepU x) to witness the existential quantifier.
Apply andI to the current goal.
An
exact proof term for the current goal is
(binunionI2 {U0} UFam (sepU x) (ReplI A (λa : set ⇒ sepU a) x HxA)).
We prove the intermediate
claim Hsep:
(sepU x) ∈ Tx ∧ (sepV x) ∈ Tx ∧ x ∈ (sepU x) ∧ B ⊆ (sepV x) ∧ (sepU x) ∩ (sepV x) = Empty.
An exact proof term for the current goal is (HsepProp x HxA).
We prove the intermediate
claim Hpqrs:
(((sepU x) ∈ Tx ∧ (sepV x) ∈ Tx) ∧ x ∈ (sepU x)) ∧ B ⊆ (sepV x).
An
exact proof term for the current goal is
(andEL ((((sepU x) ∈ Tx ∧ (sepV x) ∈ Tx) ∧ x ∈ (sepU x)) ∧ B ⊆ (sepV x)) ((sepU x) ∩ (sepV x) = Empty) Hsep).
We prove the intermediate
claim Hpqr:
((sepU x) ∈ Tx ∧ (sepV x) ∈ Tx) ∧ x ∈ (sepU x).
An
exact proof term for the current goal is
(andEL (((sepU x) ∈ Tx ∧ (sepV x) ∈ Tx) ∧ x ∈ (sepU x)) (B ⊆ (sepV x)) Hpqrs).
An
exact proof term for the current goal is
(andER ((sepU x) ∈ Tx ∧ (sepV x) ∈ Tx) (x ∈ (sepU x)) Hpqr).
We use U0 to witness the existential quantifier.
Apply andI to the current goal.
An
exact proof term for the current goal is
(setminusI X A x HxX HxNotA).
We prove the intermediate
claim Hcover:
open_cover X Tx Cover.
An
exact proof term for the current goal is
(andI (∀u : set, u ∈ Cover → u ∈ Tx) (covers X Cover) HCoverOpen HCoverCovers).
An exact proof term for the current goal is (HparaFor Cover Hcover).
Apply Href to the current goal.
Let W be given.
Set U to be the term
⋃ WF.
We prove the intermediate
claim HWref:
refine_of W Cover.
We prove the intermediate
claim HWcover:
open_cover X Tx W.
We prove the intermediate
claim HWopen:
∀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) HWcover).
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) HWcover).
We prove the intermediate
claim HWFsubW:
WF ⊆ W.
An
exact proof term for the current goal is
(Sep_Subq W (λw : set ⇒ w ∩ A ≠ Empty)).
We prove the intermediate
claim HWFsubTx:
WF ⊆ Tx.
Let w be given.
We prove the intermediate
claim HwW:
w ∈ W.
An
exact proof term for the current goal is
(SepE1 W (λw0 : set ⇒ w0 ∩ A ≠ Empty) w HwWF).
An exact proof term for the current goal is (HWopen w HwW).
We prove the intermediate
claim HUTx:
U ∈ Tx.
We prove the intermediate
claim HUsupX:
U ⊆ X.
Let z be given.
Let w be given.
We prove the intermediate
claim HwTx:
w ∈ Tx.
An exact proof term for the current goal is (HWFsubTx w HwWF).
We prove the intermediate
claim HwsubX:
w ⊆ X.
An exact proof term for the current goal is (HwsubX z Hzw).
We prove the intermediate
claim HAsubU:
A ⊆ U.
Let a be given.
We prove the intermediate
claim HaX:
a ∈ X.
An exact proof term for the current goal is (HAsubX a HaA).
Apply (HWcovers a HaX) 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) (a ∈ w) Hw).
We prove the intermediate
claim Haw:
a ∈ w.
An
exact proof term for the current goal is
(andER (w ∈ W) (a ∈ w) Hw).
We prove the intermediate
claim HwAne:
w ∩ A ≠ Empty.
We prove the intermediate
claim HwWF:
w ∈ WF.
An
exact proof term for the current goal is
(SepI W (λw0 : set ⇒ w0 ∩ A ≠ Empty) w HwW HwAne).
An
exact proof term for the current goal is
(UnionI WF a w Haw HwWF).
Set C to be the term
⋃ ClWF.
We prove the intermediate
claim HWFsubX:
∀w : set, w ∈ WF → w ⊆ X.
Let w be given.
We prove the intermediate
claim HwTx:
w ∈ Tx.
An exact proof term for the current goal is (HWFsubTx w HwWF).
We prove the intermediate
claim HUdef:
U = ⋃ WF.
We prove the intermediate
claim HclUsubC':
closure_of X Tx (⋃ WF) ⊆ C.
We prove the intermediate
claim HclUsubC:
closure_of X Tx U ⊆ C.
rewrite the current goal using HUdef (from left to right).
An exact proof term for the current goal is HclUsubC'.
We prove the intermediate
claim HCsubclU:
C ⊆ closure_of X Tx U.
Let z be given.
Let clw be given.
Let w be given.
We prove the intermediate
claim Hzclw2:
z ∈ closure_of X Tx w.
rewrite the current goal using Hclweq (from right to left).
An exact proof term for the current goal is Hzclw.
We prove the intermediate
claim HwsubU:
w ⊆ U.
Let t be given.
An
exact proof term for the current goal is
(UnionI WF t w Htw HwWF).
An
exact proof term for the current goal is
(closure_monotone X Tx w U HTx HwsubU HUsupX).
An exact proof term for the current goal is (Hclwsub z Hzclw2).
We prove the intermediate
claim HCeq:
closure_of X Tx U = C.
An exact proof term for the current goal is HclUsubC.
An exact proof term for the current goal is HCsubclU.
We prove the intermediate
claim HCclosed:
closed_in X Tx C.
rewrite the current goal using HCeq (from right to left).
Set V to be the term
X ∖ C.
We prove the intermediate
claim HVopen:
open_in X Tx V.
We prove the intermediate
claim HVTx:
V ∈ Tx.
An
exact proof term for the current goal is
(open_in_elem X Tx V HVopen).
We prove the intermediate
claim HUsubC:
U ⊆ C.
rewrite the current goal using HCeq (from right to left).
We prove the intermediate
claim HUdisjV:
U ∩ V = Empty.
Let z be given.
We prove the intermediate
claim Hzpair:
z ∈ U ∧ z ∈ V.
An
exact proof term for the current goal is
(binintersectE U V z Hz).
We prove the intermediate
claim HzU:
z ∈ U.
An
exact proof term for the current goal is
(andEL (z ∈ U) (z ∈ V) Hzpair).
We prove the intermediate
claim HzV:
z ∈ V.
An
exact proof term for the current goal is
(andER (z ∈ U) (z ∈ V) Hzpair).
We prove the intermediate
claim HzC:
z ∈ C.
An exact proof term for the current goal is (HUsubC z HzU).
We prove the intermediate
claim HzNotC:
z ∉ C.
An
exact proof term for the current goal is
(setminusE2 X C z HzV).
Apply FalseE to the current goal.
An exact proof term for the current goal is (HzNotC HzC).
We prove the intermediate
claim HBsubV:
B ⊆ V.
Let b be given.
We prove the intermediate
claim HbX:
b ∈ X.
An exact proof term for the current goal is (HBsubX b HbB).
An exact proof term for the current goal is HbX.
Let clw be given.
Let w be given.
We prove the intermediate
claim Hbclw2:
b ∈ closure_of X Tx w.
rewrite the current goal using Hclweq (from right to left).
An exact proof term for the current goal is Hbclw.
We prove the intermediate
claim HwW:
w ∈ W.
An exact proof term for the current goal is (HWFsubW w HwWF).
We prove the intermediate
claim Hexu:
∃u : set, u ∈ Cover ∧ w ⊆ u.
An exact proof term for the current goal is (HWref w HwW).
Apply Hexu to the current goal.
Let u be given.
We prove the intermediate
claim HuCover:
u ∈ Cover.
An
exact proof term for the current goal is
(andEL (u ∈ Cover) (w ⊆ u) Hu).
We prove the intermediate
claim Hwsubu:
w ⊆ u.
An
exact proof term for the current goal is
(andER (u ∈ Cover) (w ⊆ u) Hu).
Apply (binunionE {U0} UFam u HuCover) to the current goal.
We prove the intermediate
claim Hueq:
u = U0.
An
exact proof term for the current goal is
(SingE U0 u Hu0).
We prove the intermediate
claim HwsubU0:
w ⊆ U0.
Let t be given.
rewrite the current goal using Hueq (from right to left).
An exact proof term for the current goal is (Hwsubu t Htw).
We prove the intermediate
claim HwAnon:
w ∩ A ≠ Empty.
An
exact proof term for the current goal is
(SepE2 W (λw0 : set ⇒ w0 ∩ A ≠ Empty) w HwWF).
We prove the intermediate
claim HwAsubEmpty:
w ∩ A ⊆ Empty.
Let t be given.
We prove the intermediate
claim Htpair:
t ∈ w ∧ t ∈ A.
An
exact proof term for the current goal is
(binintersectE w A t Ht).
We prove the intermediate
claim Htw:
t ∈ w.
An
exact proof term for the current goal is
(andEL (t ∈ w) (t ∈ A) Htpair).
We prove the intermediate
claim HtA:
t ∈ A.
An
exact proof term for the current goal is
(andER (t ∈ w) (t ∈ A) Htpair).
We prove the intermediate
claim HtU0:
t ∈ U0.
An exact proof term for the current goal is (HwsubU0 t Htw).
We prove the intermediate
claim HtNotA:
t ∉ A.
An
exact proof term for the current goal is
(setminusE2 X A t HtU0).
Apply FalseE to the current goal.
An exact proof term for the current goal is (HtNotA HtA).
We prove the intermediate
claim HwAEmpty:
w ∩ A = Empty.
An
exact proof term for the current goal is
(Empty_Subq_eq (w ∩ A) HwAsubEmpty).
Apply FalseE to the current goal.
An exact proof term for the current goal is (HwAnon HwAEmpty).
Let a be given.
We prove the intermediate
claim HwsubSepU:
w ⊆ sepU a.
Let t be given.
We will
prove t ∈ sepU a.
rewrite the current goal using Hueq (from right to left).
An exact proof term for the current goal is (Hwsubu t Htw).
We prove the intermediate
claim Hsep:
(sepU a) ∈ Tx ∧ (sepV a) ∈ Tx ∧ a ∈ (sepU a) ∧ B ⊆ (sepV a) ∧ (sepU a) ∩ (sepV a) = Empty.
An exact proof term for the current goal is (HsepProp a HaA).
We prove the intermediate
claim Hpqrs:
(((sepU a) ∈ Tx ∧ (sepV a) ∈ Tx) ∧ a ∈ (sepU a)) ∧ B ⊆ (sepV a).
An
exact proof term for the current goal is
(andEL ((((sepU a) ∈ Tx ∧ (sepV a) ∈ Tx) ∧ a ∈ (sepU a)) ∧ B ⊆ (sepV a)) ((sepU a) ∩ (sepV a) = Empty) Hsep).
We prove the intermediate
claim HdisjU:
(sepU a) ∩ (sepV a) = Empty.
An
exact proof term for the current goal is
(andER ((((sepU a) ∈ Tx ∧ (sepV a) ∈ Tx) ∧ a ∈ (sepU a)) ∧ B ⊆ (sepV a)) ((sepU a) ∩ (sepV a) = Empty) Hsep).
We prove the intermediate
claim HBsubSepV:
B ⊆ sepV a.
An
exact proof term for the current goal is
(andER (((sepU a) ∈ Tx ∧ (sepV a) ∈ Tx) ∧ a ∈ (sepU a)) (B ⊆ (sepV a)) Hpqrs).
We prove the intermediate
claim HsepUinTx:
sepU a ∈ Tx.
We prove the intermediate
claim Hpqr:
((sepU a) ∈ Tx ∧ (sepV a) ∈ Tx) ∧ a ∈ (sepU a).
An
exact proof term for the current goal is
(andEL (((sepU a) ∈ Tx ∧ (sepV a) ∈ Tx) ∧ a ∈ (sepU a)) (B ⊆ (sepV a)) Hpqrs).
We prove the intermediate
claim Hpq:
(sepU a) ∈ Tx ∧ (sepV a) ∈ Tx.
An
exact proof term for the current goal is
(andEL ((sepU a) ∈ Tx ∧ (sepV a) ∈ Tx) (a ∈ (sepU a)) Hpqr).
An
exact proof term for the current goal is
(andEL ((sepU a) ∈ Tx) ((sepV a) ∈ Tx) Hpq).
We prove the intermediate
claim HsepVinTx:
sepV a ∈ Tx.
We prove the intermediate
claim Hpqr:
((sepU a) ∈ Tx ∧ (sepV a) ∈ Tx) ∧ a ∈ (sepU a).
An
exact proof term for the current goal is
(andEL (((sepU a) ∈ Tx ∧ (sepV a) ∈ Tx) ∧ a ∈ (sepU a)) (B ⊆ (sepV a)) Hpqrs).
We prove the intermediate
claim Hpq:
(sepU a) ∈ Tx ∧ (sepV a) ∈ Tx.
An
exact proof term for the current goal is
(andEL ((sepU a) ∈ Tx ∧ (sepV a) ∈ Tx) (a ∈ (sepU a)) Hpqr).
An
exact proof term for the current goal is
(andER ((sepU a) ∈ Tx) ((sepV a) ∈ Tx) Hpq).
We prove the intermediate
claim HsepUsubX:
sepU a ⊆ X.
We prove the intermediate
claim HsepVsubX:
sepV a ⊆ X.
We prove the intermediate
claim HsepUsubComp:
sepU a ⊆ X ∖ (sepV a).
Let t be given.
We will
prove t ∈ X ∖ (sepV a).
We prove the intermediate
claim HtX:
t ∈ X.
An exact proof term for the current goal is (HsepUsubX t HtU).
An exact proof term for the current goal is HtX.
We prove the intermediate
claim HtUV:
t ∈ (sepU a) ∩ (sepV a).
An
exact proof term for the current goal is
(binintersectI (sepU a) (sepV a) t HtU HtV).
We prove the intermediate
claim HtEmpty:
t ∈ Empty.
rewrite the current goal using HdisjU (from right to left).
An exact proof term for the current goal is HtUV.
An
exact proof term for the current goal is
((EmptyE t) HtEmpty).
We prove the intermediate
claim HcompClosed:
closed_in X Tx (X ∖ (sepV a)).
We prove the intermediate
claim HclSepUsub:
closure_of X Tx (sepU a) ⊆ X ∖ (sepV a).
An
exact proof term for the current goal is
(closure_monotone X Tx w (sepU a) HTx HwsubSepU HsepUsubX).
We prove the intermediate
claim HbNotSepV:
b ∉ sepV a.
We prove the intermediate
claim HbclSepU:
b ∈ closure_of X Tx (sepU a).
An exact proof term for the current goal is (HclwsubclSepU b Hbclw2).
We prove the intermediate
claim HbComp:
b ∈ X ∖ (sepV a).
An exact proof term for the current goal is (HclSepUsub b HbclSepU).
We prove the intermediate
claim HbNotV:
b ∉ sepV a.
An
exact proof term for the current goal is
(setminusE2 X (sepV a) b HbComp).
An exact proof term for the current goal is (HbNotV HbV).
We prove the intermediate
claim HbSepV:
b ∈ sepV a.
An exact proof term for the current goal is (HBsubSepV b HbB).
An exact proof term for the current goal is (HbNotSepV HbSepV).
We use U to witness the existential quantifier.
We use V to witness the existential quantifier.
Apply and5I to the current goal.
An exact proof term for the current goal is HUTx.
An exact proof term for the current goal is HVTx.
An exact proof term for the current goal is HAsubU.
An exact proof term for the current goal is HBsubV.
An exact proof term for the current goal is HUdisjV.
∎