Let X be given.
We prove the intermediate claim HEmptyOpen: Empty countable_complement_topology X.
An exact proof term for the current goal is (SepI (𝒫 X) (λU0 : setcountable (X U0) U0 = Empty) Empty (Empty_In_Power X) (orIR (countable (X Empty)) (Empty = Empty) (λP H ⇒ H))).
We will prove countable_complement_topology X 𝒫 X Empty countable_complement_topology X X countable_complement_topology X (∀UFam𝒫 (countable_complement_topology X), UFam countable_complement_topology X) (∀Ucountable_complement_topology X, ∀Vcountable_complement_topology X, U V countable_complement_topology X).
Apply and5I to the current goal.
Let U be given.
Assume HU: U countable_complement_topology X.
An exact proof term for the current goal is (SepE1 (𝒫 X) (λU0 : setcountable (X U0) U0 = Empty) U HU).
An exact proof term for the current goal is HEmptyOpen.
We prove the intermediate claim Hdiff_empty: X X = Empty.
Apply Empty_Subq_eq to the current goal.
Let x be given.
Assume Hx.
We prove the intermediate claim HxX: x X.
An exact proof term for the current goal is (setminusE1 X X x Hx).
We prove the intermediate claim Hxnot: x X.
An exact proof term for the current goal is (setminusE2 X X x Hx).
Apply FalseE to the current goal.
An exact proof term for the current goal is (Hxnot HxX).
We prove the intermediate claim HcountDiff: countable (X X).
rewrite the current goal using Hdiff_empty (from left to right).
An exact proof term for the current goal is countable_Empty.
An exact proof term for the current goal is (SepI (𝒫 X) (λU0 : setcountable (X U0) U0 = Empty) X (Self_In_Power X) (orIL (countable (X X)) (X = Empty) HcountDiff)).
We will prove ∀UFam𝒫 (countable_complement_topology X), UFam countable_complement_topology X.
Let UFam be given.
Assume Hfam: UFam 𝒫 (countable_complement_topology X).
We prove the intermediate claim Hsub: UFam countable_complement_topology X.
An exact proof term for the current goal is (PowerE (countable_complement_topology X) UFam Hfam).
Apply xm (∃U : set, U UFam countable (X U)) to the current goal.
Assume Hex: ∃U : set, U UFam countable (X U).
We prove the intermediate claim HUnionInPower: UFam 𝒫 X.
Apply PowerI X ( UFam) to the current goal.
Let x be given.
Assume HxUnion.
Apply UnionE_impred UFam x HxUnion to the current goal.
Let U be given.
Assume HxU HUin.
We prove the intermediate claim HUinPow: U 𝒫 X.
An exact proof term for the current goal is (SepE1 (𝒫 X) (λU0 : setcountable (X U0) U0 = Empty) U (Hsub U HUin)).
We prove the intermediate claim HUsubX: U X.
An exact proof term for the current goal is (PowerE X U HUinPow).
An exact proof term for the current goal is (HUsubX x HxU).
We prove the intermediate claim HUnionPred: countable (X UFam) UFam = Empty.
Apply orIL to the current goal.
Apply Hex to the current goal.
Let U be given.
Assume HUdata.
Apply HUdata to the current goal.
Assume HUin.
Assume HUcount.
We will prove countable (X UFam).
We prove the intermediate claim Hsubset: X UFam X U.
Let x be given.
Assume Hx.
We prove the intermediate claim HxX: x X.
An exact proof term for the current goal is (setminusE1 X ( UFam) x Hx).
We prove the intermediate claim HnotUnion: x UFam.
An exact proof term for the current goal is (setminusE2 X ( UFam) x Hx).
We prove the intermediate claim HnotU: x U.
Assume HxU.
Apply HnotUnion to the current goal.
An exact proof term for the current goal is (UnionI UFam x U HxU HUin).
Apply setminusI to the current goal.
An exact proof term for the current goal is HxX.
An exact proof term for the current goal is HnotU.
An exact proof term for the current goal is (Subq_countable (X UFam) (X U) HUcount Hsubset).
An exact proof term for the current goal is (SepI (𝒫 X) (λU0 : setcountable (X U0) U0 = Empty) ( UFam) HUnionInPower HUnionPred).
Assume Hnone: ¬ ∃U : set, U UFam countable (X U).
We prove the intermediate claim HUnionEmpty: UFam = Empty.
Apply Empty_Subq_eq to the current goal.
Let x be given.
Assume HxUnion.
Apply UnionE_impred UFam x HxUnion to the current goal.
Let U be given.
Assume HxU HUin.
We prove the intermediate claim HUdata: countable (X U) U = Empty.
An exact proof term for the current goal is (SepE2 (𝒫 X) (λU0 : setcountable (X U0) U0 = Empty) U (Hsub U HUin)).
Apply HUdata (x Empty) to the current goal.
Assume HUcount.
Apply FalseE to the current goal.
Apply Hnone to the current goal.
We use U to witness the existential quantifier.
Apply andI to the current goal.
An exact proof term for the current goal is HUin.
An exact proof term for the current goal is HUcount.
Assume HUempty: U = Empty.
rewrite the current goal using HUempty (from right to left).
An exact proof term for the current goal is HxU.
rewrite the current goal using HUnionEmpty (from left to right).
An exact proof term for the current goal is HEmptyOpen.
We will prove ∀Ucountable_complement_topology X, ∀Vcountable_complement_topology X, U V countable_complement_topology X.
Let U be given.
Assume HU: U countable_complement_topology X.
Let V be given.
Assume HV: V countable_complement_topology X.
We prove the intermediate claim HUdata: countable (X U) U = Empty.
An exact proof term for the current goal is (SepE2 (𝒫 X) (λU0 : setcountable (X U0) U0 = Empty) U HU).
We prove the intermediate claim HVdata: countable (X V) V = Empty.
An exact proof term for the current goal is (SepE2 (𝒫 X) (λU0 : setcountable (X U0) U0 = Empty) V HV).
Apply HUdata (U V countable_complement_topology X) to the current goal.
Assume HUcount.
Apply HVdata (U V countable_complement_topology X) to the current goal.
Assume HVcount.
We prove the intermediate claim HcapInPower: U V 𝒫 X.
We prove the intermediate claim HUsub: U X.
An exact proof term for the current goal is (PowerE X U (SepE1 (𝒫 X) (λU0 : setcountable (X U0) U0 = Empty) U HU)).
Apply PowerI X (U V) to the current goal.
Let x be given.
Assume HxCap.
Apply binintersectE U V x HxCap to the current goal.
Assume HxU HxV.
An exact proof term for the current goal is (HUsub x HxU).
We prove the intermediate claim HcapPred: countable (X (U V)) U V = Empty.
Apply orIL to the current goal.
We prove the intermediate claim HcountUnion: countable ((X U) (X V)).
An exact proof term for the current goal is (binunion_countable (X U) (X V) HUcount HVcount).
We prove the intermediate claim Hsubset: X (U V) (X U) (X V).
Let x be given.
Assume Hx.
We prove the intermediate claim HxX: x X.
An exact proof term for the current goal is (setminusE1 X (U V) x Hx).
We prove the intermediate claim HnotCap: x U V.
An exact proof term for the current goal is (setminusE2 X (U V) x Hx).
Apply xm (x U) to the current goal.
Assume HxU.
We prove the intermediate claim HnotV: x V.
Assume HxV.
Apply HnotCap to the current goal.
An exact proof term for the current goal is (binintersectI U V x HxU HxV).
Apply binunionI2 (X U) (X V) to the current goal.
Apply setminusI X V x HxX HnotV to the current goal.
Assume HnotU.
Apply binunionI1 (X U) (X V) to the current goal.
Apply setminusI X U x HxX HnotU to the current goal.
An exact proof term for the current goal is (Subq_countable (X (U V)) ((X U) (X V)) HcountUnion Hsubset).
An exact proof term for the current goal is (SepI (𝒫 X) (λU0 : setcountable (X U0) U0 = Empty) (U V) HcapInPower HcapPred).
Assume HVempty: V = Empty.
We prove the intermediate claim Hcap_empty: U V = Empty.
rewrite the current goal using HVempty (from left to right).
Apply Empty_Subq_eq to the current goal.
An exact proof term for the current goal is (binintersect_Subq_2 U Empty).
rewrite the current goal using Hcap_empty (from left to right).
An exact proof term for the current goal is HEmptyOpen.
Assume HUempty: U = Empty.
We prove the intermediate claim Hcap_empty: U V = Empty.
rewrite the current goal using HUempty (from left to right).
Apply Empty_Subq_eq to the current goal.
An exact proof term for the current goal is (binintersect_Subq_1 Empty V).
rewrite the current goal using Hcap_empty (from left to right).
An exact proof term for the current goal is HEmptyOpen.