Let Fam be given.
We prove the intermediate
claim HFamSub:
Fam ⊆ Ty.
An
exact proof term for the current goal is
(andEL (Fam ⊆ Ty) (Img ⊆ ⋃ Fam) Hcov).
We prove the intermediate
claim HImgCov:
Img ⊆ ⋃ Fam.
An
exact proof term for the current goal is
(andER (Fam ⊆ Ty) (Img ⊆ ⋃ Fam) Hcov).
We prove the intermediate
claim HPrePow:
PreFam ⊆ 𝒫 X.
Let W be given.
Let V0 be given.
rewrite the current goal using HWeq (from left to right).
Apply PowerI to the current goal.
Let x0 be given.
Apply (SepE X (λu : set ⇒ apply_fun f u ∈ V0) x0 Hx0) to the current goal.
Assume Hx0X.
Assume _.
An exact proof term for the current goal is Hx0X.
We prove the intermediate
claim HPreOpen:
∀W : set, W ∈ PreFam → W ∈ Tx.
Let W be given.
Let V0 be given.
We prove the intermediate
claim HV0Ty:
V0 ∈ Ty.
An exact proof term for the current goal is (HFamSub V0 HV0).
rewrite the current goal using HWeq (from left to right).
An exact proof term for the current goal is (Hf_pre V0 HV0Ty).
We prove the intermediate
claim HXcov:
X ⊆ ⋃ PreFam.
Let x0 be given.
We will
prove x0 ∈ ⋃ PreFam.
We prove the intermediate
claim HyImg:
apply_fun f x0 ∈ Img.
An
exact proof term for the current goal is
(ReplI X (λx1 : set ⇒ apply_fun f x1) x0 Hx0X).
We prove the intermediate
claim HyUnion:
apply_fun f x0 ∈ ⋃ Fam.
An
exact proof term for the current goal is
(HImgCov (apply_fun f x0) HyImg).
Let V0 be given.
We prove the intermediate
claim Hx0Pre:
x0 ∈ preimage_of X f V0.
Apply SepI to the current goal.
An exact proof term for the current goal is Hx0X.
An exact proof term for the current goal is HyV0.
We prove the intermediate
claim HopenCov:
open_cover_of X Tx PreFam.
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.
An exact proof term for the current goal is HPrePow.
An exact proof term for the current goal is HXcov.
An exact proof term for the current goal is HPreOpen.
An exact proof term for the current goal is (HsubcoverX PreFam HopenCov).
Apply HfinPre to the current goal.
Let Gpre be given.
We prove the intermediate
claim HGpreLeft:
Gpre ⊆ PreFam ∧ finite Gpre.
An
exact proof term for the current goal is
(andEL (Gpre ⊆ PreFam ∧ finite Gpre) (X ⊆ ⋃ Gpre) HGpre).
We prove the intermediate
claim HGpreSub:
Gpre ⊆ PreFam.
An
exact proof term for the current goal is
(andEL (Gpre ⊆ PreFam) (finite Gpre) HGpreLeft).
We prove the intermediate
claim HGpreFin:
finite Gpre.
An
exact proof term for the current goal is
(andER (Gpre ⊆ PreFam) (finite Gpre) HGpreLeft).
We prove the intermediate
claim HXcovGpre:
X ⊆ ⋃ Gpre.
An
exact proof term for the current goal is
(andER (Gpre ⊆ PreFam ∧ finite Gpre) (X ⊆ ⋃ Gpre) HGpre).
Set G to be the term
{pickV W|W ∈ Gpre}.
We prove the intermediate
claim HGsubFam:
G ⊆ Fam.
Let V0 be given.
Apply (ReplE_impred Gpre (λW0 : set ⇒ pickV W0) V0 HV0) to the current goal.
Let W0 be given.
We prove the intermediate
claim HW0Pre:
W0 ∈ PreFam.
An exact proof term for the current goal is (HGpreSub W0 HW0G).
We prove the intermediate
claim Hex:
∃V1 : set, V1 ∈ Fam ∧ W0 = preimage_of X f V1.
Let V2 be given.
We use V2 to witness the existential quantifier.
An
exact proof term for the current goal is
(andI (V2 ∈ Fam) (W0 = preimage_of X f V2) HV2 HW0eq2).
Apply Hex to the current goal.
Let V1 be given.
We prove the intermediate
claim Hpick:
pickV W0 ∈ Fam ∧ W0 = preimage_of X f (pickV W0).
rewrite the current goal using HV0eq (from left to right).
An
exact proof term for the current goal is
(andEL (pickV W0 ∈ Fam) (W0 = preimage_of X f (pickV W0)) Hpick).
We prove the intermediate
claim HGfin:
finite G.
An
exact proof term for the current goal is
(Repl_finite (λW0 : set ⇒ pickV W0) Gpre HGpreFin).
We prove the intermediate
claim HImgCovG:
Img ⊆ ⋃ G.
Let y be given.
Let x0 be given.
We prove the intermediate
claim Hx0UG:
x0 ∈ ⋃ Gpre.
An exact proof term for the current goal is (HXcovGpre x0 Hx0X).
Let W0 be given.
We prove the intermediate
claim HW0Pre:
W0 ∈ PreFam.
An exact proof term for the current goal is (HGpreSub W0 HW0G).
We prove the intermediate
claim Hex:
∃V1 : set, V1 ∈ Fam ∧ W0 = preimage_of X f V1.
Let V2 be given.
We use V2 to witness the existential quantifier.
An
exact proof term for the current goal is
(andI (V2 ∈ Fam) (W0 = preimage_of X f V2) HV2 HW0eq2).
Apply Hex to the current goal.
Let V1 be given.
We prove the intermediate
claim Hpick:
pickV W0 ∈ Fam ∧ W0 = preimage_of X f (pickV W0).
We prove the intermediate
claim HW0eq:
W0 = preimage_of X f (pickV W0).
An
exact proof term for the current goal is
(andER (pickV W0 ∈ Fam) (W0 = preimage_of X f (pickV W0)) Hpick).
We prove the intermediate
claim Hx0Pre:
x0 ∈ preimage_of X f (pickV W0).
rewrite the current goal using HW0eq (from right to left) at position 1.
An exact proof term for the current goal is Hx0W0.
We prove the intermediate
claim HyV:
apply_fun f x0 ∈ pickV W0.
Apply (SepE X (λu : set ⇒ apply_fun f u ∈ pickV W0) x0 Hx0Pre) to the current goal.
Assume _.
Assume Hy0.
An exact proof term for the current goal is Hy0.
rewrite the current goal using Heq (from left to right).
An
exact proof term for the current goal is
(UnionI G (apply_fun f x0) (pickV W0) HyV (ReplI Gpre (λW1 : set ⇒ pickV W1) W0 HW0G)).