Let X, Tx and U be given.
Apply HexVW to the current goal.
Let V be given.
Assume HexW.
Apply HexW to the current goal.
Let W be given.
Apply HVW to the current goal.
Assume HVWleft HWcl.
Apply HVWleft to the current goal.
Assume HVW6 HWref.
Apply HVW6 to the current goal.
Assume HVW5 HWlf.
Apply HVW5 to the current goal.
Assume HVW4 HWcov.
Apply HVW4 to the current goal.
Assume HVW3 HVcl.
Apply HVW3 to the current goal.
Assume HVW2 HVref.
Apply HVW2 to the current goal.
Assume HVcov HVlf.
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) HVcov).
We prove the intermediate
claim HVcovers:
covers X V.
An
exact proof term for the current goal is
(andER (∀v : set, v ∈ V → v ∈ Tx) (covers X V) HVcov).
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).
We prove the intermediate
claim HTsub:
Tx ⊆ 𝒫 X.
We prove the intermediate
claim HVsubX:
∀v : set, v ∈ V → v ⊆ X.
Let v be given.
An
exact proof term for the current goal is
(PowerE X v (HTsub v (HVTx v HvV))).
We prove the intermediate
claim HWsubX:
∀w : set, w ∈ W → w ⊆ X.
Let w be given.
An
exact proof term for the current goal is
(PowerE X w (HTsub w (HWTx w HwW))).
We prove the intermediate
claim HpickV:
∀w : set, w ∈ W → pickV w ∈ V ∧ closure_of X Tx w ⊆ pickV w.
Let w be given.
We prove the intermediate
claim Hexv:
∃v0 : set, v0 ∈ V ∧ closure_of X Tx w ⊆ v0.
An exact proof term for the current goal is (HWcl w HwW).
An
exact proof term for the current goal is
(Eps_i_ex (λv0 : set ⇒ v0 ∈ V ∧ closure_of X Tx w ⊆ v0) Hexv).
Set W_of to be the term
λv : set ⇒ {w ∈ W|pickV w = v}.
Set A_of to be the term
λv : set ⇒ ⋃ (Cl_of v).
We prove the intermediate
claim HA_of_closed_sub:
∀v : set, v ∈ V → closed_in X Tx (A_of v) ∧ A_of v ⊆ v.
Let v be given.
Set Fam to be the term Cl_of v.
We prove the intermediate
claim HclFam:
∀C : set, C ∈ Fam → closed_in X Tx C.
Let C be given.
Let w be given.
rewrite the current goal using Heq (from left to right).
We prove the intermediate
claim HwW:
w ∈ W.
An
exact proof term for the current goal is
(SepE1 W (λw0 : set ⇒ pickV w0 = v) w Hw).
An
exact proof term for the current goal is
(closure_is_closed X Tx w HTx (HWsubX w HwW)).
Let C be given.
Let w be given.
rewrite the current goal using Heq (from left to right).
We prove the intermediate
claim HwW:
w ∈ W.
An
exact proof term for the current goal is
(SepE1 W (λw0 : set ⇒ pickV w0 = v) w Hw).
An
exact proof term for the current goal is
(ReplI W (λw0 : set ⇒ closure_of X Tx w0) w HwW).
We prove the intermediate
claim HAcl:
closed_in X Tx (A_of v).
We prove the intermediate
claim HeqA:
A_of v = ⋃ Fam.
rewrite the current goal using HeqA (from left to right).
We prove the intermediate
claim HAsub:
A_of v ⊆ v.
Let x be given.
Let C be given.
Let w be given.
We prove the intermediate
claim Hxcl:
x ∈ closure_of X Tx w.
rewrite the current goal using Heq (from right to left).
An exact proof term for the current goal is HxC.
We prove the intermediate
claim HwW:
w ∈ W.
An
exact proof term for the current goal is
(SepE1 W (λw0 : set ⇒ pickV w0 = v) w Hw).
We prove the intermediate
claim Heqv:
pickV w = v.
An
exact proof term for the current goal is
(SepE2 W (λw0 : set ⇒ pickV w0 = v) w Hw).
We prove the intermediate
claim Hvpack:
pickV w ∈ V ∧ closure_of X Tx w ⊆ pickV w.
An exact proof term for the current goal is (HpickV w HwW).
We prove the intermediate
claim Hclsub:
closure_of X Tx w ⊆ pickV w.
An
exact proof term for the current goal is
(andER (pickV w ∈ V) (closure_of X Tx w ⊆ pickV w) Hvpack).
We prove the intermediate
claim Hclsubv:
closure_of X Tx w ⊆ v.
rewrite the current goal using Heqv (from right to left).
An exact proof term for the current goal is Hclsub.
An exact proof term for the current goal is (Hclsubv x Hxcl).
An
exact proof term for the current goal is
(andI (closed_in X Tx (A_of v)) (A_of v ⊆ v) HAcl HAsub).
Let v be given.
We prove the intermediate
claim HvTx:
v ∈ Tx.
An exact proof term for the current goal is (HVTx v HvV).
We prove the intermediate
claim HApack:
closed_in X Tx (A_of v) ∧ A_of v ⊆ v.
An exact proof term for the current goal is (HA_of_closed_sub v HvV).
We prove the intermediate
claim HAcl:
closed_in X Tx (A_of v).
An
exact proof term for the current goal is
(andEL (closed_in X Tx (A_of v)) (A_of v ⊆ v) HApack).
We prove the intermediate
claim HAsubv:
A_of v ⊆ v.
An
exact proof term for the current goal is
(andER (closed_in X Tx (A_of v)) (A_of v ⊆ v) HApack).
Set bumpV0 to be the term
λv : set ⇒ graph X (λx : set ⇒ apply_fun (bumpV v) x).
Set P to be the term
{bumpV0 v|v ∈ V}.
Let f be given.
Let v be given.
rewrite the current goal using Heq (from left to right).
Set g to be the term
(λx : set ⇒ apply_fun (bumpV v) x).
We prove the intermediate
claim Hb0eq:
bumpV0 v = graph X g.
rewrite the current goal using Hb0eq (from left to right).
Let x be given.
An exact proof term for the current goal is (HbumpV v HvV).
Apply Hpack to the current goal.
Assume Hleft Hui.
Let f be given.
Let v be given.
rewrite the current goal using Heq (from left to right).
An exact proof term for the current goal is (HbumpV v HvV).
Apply Hpack to the current goal.
Assume Hleft Hui.
Apply Hleft to the current goal.
Assume Hleft2 Hz.
Apply Hleft2 to the current goal.
Assume Hc Hval1.
An
exact proof term for the current goal is
(HPsubFS (bumpV0 v) (ReplI V (λv0 : set ⇒ bumpV0 v0) v HvV)).
We prove the intermediate
claim Hfun:
function_on (bumpV0 v) X R.
We prove the intermediate
claim Heqpt:
∀x : set, x ∈ X → apply_fun (bumpV v) x = apply_fun (bumpV0 v) x.
Let x be given.
Set g to be the term
(λx0 : set ⇒ apply_fun (bumpV v) x0).
We prove the intermediate
claim Hb0eq:
bumpV0 v = graph X g.
rewrite the current goal using Hb0eq (from left to right).
rewrite the current goal using
(apply_fun_graph X g x HxX) (from left to right).
Use reflexivity.
Let f and x be given.
Let v be given.
rewrite the current goal using Heq (from left to right).
Set g to be the term
(λx0 : set ⇒ apply_fun (bumpV v) x0).
We prove the intermediate
claim Hb0eq:
bumpV0 v = graph X g.
rewrite the current goal using Hb0eq (from left to right).
rewrite the current goal using
(apply_fun_graph X g x HxX) (from left to right).
An exact proof term for the current goal is (HbumpV v HvV).
Apply Hpack to the current goal.
Assume Hleft Hui.
An exact proof term for the current goal is (Hui x HxX).
We prove the intermediate
claim HPdom:
∀f : set, f ∈ P → ∃u : set, u ∈ U ∧ support_of X Tx f ⊆ u.
Let f be given.
Let v be given.
rewrite the current goal using Heq (from left to right).
We prove the intermediate
claim Hexu:
∃u : set, u ∈ U ∧ closure_of X Tx v ⊆ u.
An exact proof term for the current goal is (HVcl v HvV).
Apply Hexu 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
(andEL (u ∈ U) (closure_of X Tx v ⊆ u) Hu).
We prove the intermediate
claim HvTx:
v ∈ Tx.
An exact proof term for the current goal is (HVTx v HvV).
We prove the intermediate
claim Hz:
∀x : set, x ∈ (X ∖ v) → apply_fun (bumpV0 v) x = 0.
Let x be given.
We prove the intermediate
claim HxX:
x ∈ X.
An
exact proof term for the current goal is
(setminusE1 X v x Hxout).
Set g to be the term
(λx0 : set ⇒ apply_fun (bumpV v) x0).
We prove the intermediate
claim Hb0eq:
bumpV0 v = graph X g.
rewrite the current goal using Hb0eq (from left to right).
rewrite the current goal using
(apply_fun_graph X g x HxX) (from left to right).
An exact proof term for the current goal is (HbumpV v HvV).
Apply Hpack to the current goal.
Assume Hleft Hui.
Apply Hleft to the current goal.
Assume Hleft2 Hz0.
An exact proof term for the current goal is (Hz0 x Hxout).
We prove the intermediate
claim HPone:
∀x : set, x ∈ X → ∃f : set, f ∈ P ∧ apply_fun f x = 1.
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.
We prove the intermediate
claim HwW:
w ∈ W.
An
exact proof term for the current goal is
(andEL (w ∈ W) (x ∈ w) Hwx).
We prove the intermediate
claim Hxw:
x ∈ w.
An
exact proof term for the current goal is
(andER (w ∈ W) (x ∈ w) Hwx).
Set v to be the term pickV w.
We use (bumpV0 v) to witness the existential quantifier.
Apply andI to the current goal.
We prove the intermediate
claim HvV:
v ∈ V.
An
exact proof term for the current goal is
(andEL (pickV w ∈ V) (closure_of X Tx w ⊆ pickV w) (HpickV w HwW)).
An
exact proof term for the current goal is
(ReplI V (λv0 : set ⇒ bumpV0 v0) v HvV).
We prove the intermediate
claim HvV:
v ∈ V.
An
exact proof term for the current goal is
(andEL (pickV w ∈ V) (closure_of X Tx w ⊆ pickV w) (HpickV w HwW)).
We prove the intermediate
claim Hxclw:
x ∈ closure_of X Tx w.
An
exact proof term for the current goal is
((subset_of_closure X Tx w HTx (HWsubX w HwW)) x Hxw).
We prove the intermediate
claim Heqv:
pickV w = v.
We prove the intermediate
claim HwWv:
w ∈ W_of v.
An
exact proof term for the current goal is
(SepI W (λw0 : set ⇒ pickV w0 = v) w HwW Heqv).
We prove the intermediate
claim HclwIn:
closure_of X Tx w ∈ Cl_of v.
An
exact proof term for the current goal is
(ReplI (W_of v) (λw0 : set ⇒ closure_of X Tx w0) w HwWv).
We prove the intermediate
claim HxA:
x ∈ A_of v.
An
exact proof term for the current goal is
(UnionI (Cl_of v) x (closure_of X Tx w) Hxclw HclwIn).
An exact proof term for the current goal is (HbumpV v HvV).
Apply Hpack to the current goal.
Assume Hleft Hui.
Apply Hleft to the current goal.
Assume Hleft2 Hz0.
Apply Hleft2 to the current goal.
Assume Hc Hval1.
Set g to be the term
(λx0 : set ⇒ apply_fun (bumpV v) x0).
We prove the intermediate
claim Hb0eq:
bumpV0 v = graph X g.
rewrite the current goal using Hb0eq (from left to right).
rewrite the current goal using
(apply_fun_graph X g x HxX) (from left to right).
An exact proof term for the current goal is (Hval1 x HxA).
Let x be given.
We prove the intermediate
claim HexN:
∃N : set, N ∈ Tx ∧ x ∈ N ∧ ∃S : set, finite S ∧ S ⊆ V ∧ ∀A : set, A ∈ V → A ∩ N ≠ Empty → A ∈ S.
Apply HexN to the current goal.
Let N be given.
We prove the intermediate
claim HNcore:
N ∈ Tx ∧ x ∈ N.
An
exact proof term for the current goal is
(andEL (N ∈ Tx ∧ x ∈ N) (∃S : set, finite S ∧ S ⊆ V ∧ ∀A : set, A ∈ V → A ∩ N ≠ Empty → A ∈ S) HN).
We prove the intermediate
claim HNTx:
N ∈ Tx.
An
exact proof term for the current goal is
(andEL (N ∈ Tx) (x ∈ N) HNcore).
We prove the intermediate
claim HxN:
x ∈ N.
An
exact proof term for the current goal is
(andER (N ∈ Tx) (x ∈ N) HNcore).
We prove the intermediate
claim HexS:
∃S : set, finite S ∧ S ⊆ V ∧ ∀A : set, A ∈ V → A ∩ N ≠ Empty → A ∈ S.
An
exact proof term for the current goal is
(andER (N ∈ Tx ∧ x ∈ N) (∃S : set, finite S ∧ S ⊆ V ∧ ∀A : set, A ∈ V → A ∩ N ≠ Empty → A ∈ S) HN).
Apply HexS to the current goal.
Let S be given.
We prove the intermediate
claim HSfinSub:
finite S ∧ S ⊆ V.
An
exact proof term for the current goal is
(andEL (finite S ∧ S ⊆ V) (∀A : set, A ∈ V → A ∩ N ≠ Empty → A ∈ S) HS).
We prove the intermediate
claim HSfin:
finite S.
An
exact proof term for the current goal is
(andEL (finite S) (S ⊆ V) HSfinSub).
We prove the intermediate
claim HSsubV:
S ⊆ V.
An
exact proof term for the current goal is
(andER (finite S) (S ⊆ V) HSfinSub).
We prove the intermediate
claim HSprop:
∀A : set, A ∈ V → A ∩ N ≠ Empty → A ∈ S.
An
exact proof term for the current goal is
(andER (finite S ∧ S ⊆ V) (∀A : set, A ∈ V → A ∩ N ≠ Empty → A ∈ S) HS).
Set F0 to be the term
{bumpV0 v0|v0 ∈ S}.
We use N to witness the existential quantifier.
Apply andI to the current goal.
Apply andI to the current goal.
An exact proof term for the current goal is HNTx.
An exact proof term for the current goal is HxN.
We use F0 to witness the existential quantifier.
Apply andI to the current goal.
Apply andI to the current goal.
An
exact proof term for the current goal is
(Repl_finite (λv0 : set ⇒ bumpV0 v0) S HSfin).
Let f be given.
Apply (ReplE_impred S (λv0 : set ⇒ bumpV0 v0) f HfF0 (f ∈ P)) to the current goal.
Let v0 be given.
rewrite the current goal using Heq (from left to right).
We prove the intermediate
claim Hv0V:
v0 ∈ V.
An exact proof term for the current goal is (HSsubV v0 Hv0S).
An
exact proof term for the current goal is
(ReplI V (λv1 : set ⇒ bumpV0 v1) v0 Hv0V).
Let f be given.
Apply (ReplE_impred V (λv0 : set ⇒ bumpV0 v0) f HfP (f ∈ F0)) to the current goal.
Let v0 be given.
rewrite the current goal using Heq (from left to right).
We prove the intermediate
claim Hv0Tx:
v0 ∈ Tx.
An exact proof term for the current goal is (HVTx v0 Hv0V).
We prove the intermediate
claim Hz:
∀z : set, z ∈ (X ∖ v0) → apply_fun (bumpV0 v0) z = 0.
Let z be given.
We prove the intermediate
claim HzX:
z ∈ X.
An
exact proof term for the current goal is
(setminusE1 X v0 z Hzout).
Set g0 to be the term
(λz0 : set ⇒ apply_fun (bumpV v0) z0).
We prove the intermediate
claim Hb0eq:
bumpV0 v0 = graph X g0.
rewrite the current goal using Hb0eq (from left to right).
rewrite the current goal using
(apply_fun_graph X g0 z HzX) (from left to right).
An exact proof term for the current goal is (HbumpV v0 Hv0V).
Apply Hpack to the current goal.
Assume Hleft Hui.
Apply Hleft to the current goal.
Assume Hleft2 Hz0.
An exact proof term for the current goal is (Hz0 z Hzout).
rewrite the current goal using Heq (from right to left).
An exact proof term for the current goal is Hsupp.
We prove the intermediate
claim Hexy:
∃y : set, y ∈ support_of X Tx (bumpV0 v0) ∩ N.
Apply Hexy to the current goal.
Let y be given.
We prove the intermediate
claim Hysupp:
y ∈ support_of X Tx (bumpV0 v0).
We prove the intermediate
claim HyN:
y ∈ N.
We prove the intermediate
claim Hycl:
y ∈ closure_of X Tx v0.
An exact proof term for the current goal is (Hsuppsubcl y Hysupp).
We prove the intermediate
claim HyProp:
∀U0 : set, U0 ∈ Tx → y ∈ U0 → U0 ∩ v0 ≠ Empty.
An
exact proof term for the current goal is
(SepE2 X (λy0 : set ⇒ ∀U0 : set, U0 ∈ Tx → y0 ∈ U0 → U0 ∩ v0 ≠ Empty) y Hycl).
We prove the intermediate
claim HNv0:
N ∩ v0 ≠ Empty.
An exact proof term for the current goal is (HyProp N HNTx HyN).
We prove the intermediate
claim Hv0N:
v0 ∩ N ≠ Empty.
An exact proof term for the current goal is HNv0.
We prove the intermediate
claim Hv0S:
v0 ∈ S.
An exact proof term for the current goal is (HSprop v0 Hv0V Hv0N).
An
exact proof term for the current goal is
(ReplI S (λv1 : set ⇒ bumpV0 v1) v0 Hv0S).
We use V to witness the existential quantifier.
We use P to witness the existential quantifier.
Apply andI to the current goal.
Apply andI to the current goal.
Apply and7I to the current goal.
An exact proof term for the current goal is HVcov.
An exact proof term for the current goal is HVlf.
An exact proof term for the current goal is HVref.
An exact proof term for the current goal is HPsubFS.
An exact proof term for the current goal is HPcont.
An exact proof term for the current goal is HPui.
An exact proof term for the current goal is HPdom.
An exact proof term for the current goal is HPone.
An exact proof term for the current goal is HPlf.
∎