Let C be given.
Apply (ReplE Fam (λU0 : set ⇒ X ∖ U0) C HC) to the current goal.
Let U be given.
Assume H1.
Apply H1 to the current goal.
rewrite the current goal using HCeq (from left to right).
Apply PowerI to the current goal.
Let F be given.
Set pickU to be the term
λC0 : set ⇒ Eps_i (λU0 : set ⇒ U0 ∈ Fam ∧ C0 = X ∖ U0).
Set G to be the term
{pickU C0|C0 ∈ F}.
We prove the intermediate
claim HGfin:
finite G.
An
exact proof term for the current goal is
(Repl_finite pickU F HFfin).
We prove the intermediate
claim HGsubFam:
G ⊆ Fam.
Let U0 be given.
Apply (ReplE F pickU U0 HU0) to the current goal.
Let C0 be given.
Assume H1.
Apply H1 to the current goal.
rewrite the current goal using HU0eq (from left to right).
We prove the intermediate
claim HC0D:
C0 ∈ D.
An exact proof term for the current goal is (HFsub C0 HC0F).
We prove the intermediate
claim HexU:
∃U1 : set, (U1 ∈ Fam ∧ C0 = X ∖ U1).
Apply (ReplE_impred Fam (λU2 : set ⇒ X ∖ U2) C0 HC0D (∃U1 : set, (U1 ∈ Fam ∧ C0 = X ∖ U1))) to the current goal.
Let U2 be given.
We use U2 to witness the existential quantifier.
Apply andI to the current goal.
An exact proof term for the current goal is HU2Fam.
An exact proof term for the current goal is HC0eq.
We prove the intermediate
claim Hpick:
pickU C0 ∈ Fam ∧ C0 = X ∖ pickU C0.
An
exact proof term for the current goal is
(Eps_i_ex (λU1 : set ⇒ U1 ∈ Fam ∧ C0 = X ∖ U1) HexU).
An
exact proof term for the current goal is
(andEL (pickU C0 ∈ Fam) (C0 = X ∖ pickU C0) Hpick).
We prove the intermediate
claim HnotcovG:
¬ (X ⊆ ⋃ G).
Apply Hnofin 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 HGsubFam.
An exact proof term for the current goal is HGfin.
An exact proof term for the current goal is HcovG.
We prove the intermediate
claim Hexx:
∃x : set, x ∈ X ∧ ¬ (x ∈ ⋃ G).
We prove the intermediate
claim Hexx0:
∃x : set, ¬ (x ∈ X → x ∈ ⋃ G).
Apply Hexx0 to the current goal.
Let x be given.
We use x to witness the existential quantifier.
An
exact proof term for the current goal is
(not_imp (x ∈ X) (x ∈ ⋃ G) Hnimp).
Apply Hexx to the current goal.
Let x be given.
We prove the intermediate
claim HxX:
x ∈ X.
An
exact proof term for the current goal is
(andEL (x ∈ X) (¬ (x ∈ ⋃ G)) Hxpair).
We prove the intermediate
claim HxnotUG:
¬ (x ∈ ⋃ G).
An
exact proof term for the current goal is
(andER (x ∈ X) (¬ (x ∈ ⋃ G)) Hxpair).
Let C0 be given.
We prove the intermediate
claim HC0D:
C0 ∈ D.
An exact proof term for the current goal is (HFsub C0 HC0F).
We prove the intermediate
claim HexU:
∃U0 : set, (U0 ∈ Fam ∧ C0 = X ∖ U0).
Apply (ReplE_impred Fam (λU : set ⇒ X ∖ U) C0 HC0D (∃U0 : set, (U0 ∈ Fam ∧ C0 = X ∖ U0))) 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 HU.
An exact proof term for the current goal is HC0eq.
Set U0 to be the term pickU C0.
We prove the intermediate
claim HU0prop:
U0 ∈ Fam ∧ C0 = X ∖ U0.
An
exact proof term for the current goal is
(Eps_i_ex (λU1 : set ⇒ U1 ∈ Fam ∧ C0 = X ∖ U1) HexU).
We prove the intermediate
claim HU0G:
U0 ∈ G.
An
exact proof term for the current goal is
(ReplI F pickU C0 HC0F).
We prove the intermediate
claim HxnotU0:
x ∉ U0.
An
exact proof term for the current goal is
(HxnotUG (UnionI G x U0 HxU0 HU0G)).
rewrite the current goal using
(andER (U0 ∈ Fam) (C0 = X ∖ U0) HU0prop) (from left to right).
An
exact proof term for the current goal is
(setminusI X U0 x HxX HxnotU0).