Let A be given.
We prove the intermediate
claim HYpack:
Y ⊆ X ∧ ∃U ∈ Tx, Y = X ∖ U.
We prove the intermediate
claim HexUc:
∃U ∈ Tx, Y = X ∖ U.
An
exact proof term for the current goal is
(andER (Y ⊆ X) (∃U ∈ Tx, Y = X ∖ U) HYpack).
Apply HexUc to the current goal.
Let Uc be given.
Assume HUcdata.
We prove the intermediate
claim HUcTx:
Uc ∈ Tx.
An
exact proof term for the current goal is
(andEL (Uc ∈ Tx) (Y = X ∖ Uc) HUcdata).
We prove the intermediate
claim HYeq:
Y = X ∖ Uc.
An
exact proof term for the current goal is
(andER (Uc ∈ Tx) (Y = X ∖ Uc) HUcdata).
We prove the intermediate
claim HUcSubX:
Uc ⊆ X.
We prove the intermediate
claim HUcDisjointY:
Uc ∩ Y = Empty.
Let z be given.
We prove the intermediate
claim HzUc:
z ∈ Uc.
An
exact proof term for the current goal is
(binintersectE1 Uc Y z Hz).
We prove the intermediate
claim HzY:
z ∈ Y.
An
exact proof term for the current goal is
(binintersectE2 Uc Y z Hz).
We prove the intermediate
claim HzXU:
z ∈ X ∖ Uc.
An
exact proof term for the current goal is
(mem_eqR z Y (X ∖ Uc) HYeq HzY).
We prove the intermediate
claim HznotUc:
z ∉ Uc.
An
exact proof term for the current goal is
(setminusE2 X Uc z HzXU).
Apply FalseE to the current goal.
An exact proof term for the current goal is (HznotUc HzUc).
Set Vset to be the term
{V ∈ Tx|(V ∩ Y) ∈ A}.
Set A0 to be the term
Vset ∪ {Uc}.
An exact proof term for the current goal is HTx.
Let W be given.
We prove the intermediate
claim HWT:
W ∈ Tx.
An
exact proof term for the current goal is
(SepE1 Tx (λV0 : set ⇒ (V0 ∩ Y) ∈ A) W HWV).
We prove the intermediate
claim HWsub:
W ⊆ X.
An
exact proof term for the current goal is
(PowerI X W HWsub).
We prove the intermediate
claim HWeq:
W = Uc.
An
exact proof term for the current goal is
(SingE Uc W HWsing).
rewrite the current goal using HWeq (from left to right).
Let x be given.
Apply (xm (x ∈ Y)) to the current goal.
We prove the intermediate
claim HxUA:
x ∈ ⋃ A.
Apply (UnionE A x HxUA) to the current goal.
Let U be given.
We prove the intermediate
claim HxU:
x ∈ U.
An
exact proof term for the current goal is
(andEL (x ∈ U) (U ∈ A) HxUpair).
We prove the intermediate
claim HUA:
U ∈ A.
An
exact proof term for the current goal is
(andER (x ∈ U) (U ∈ A) HxUpair).
We prove the intermediate
claim HexV:
∃V ∈ Tx, U = V ∩ Y.
Apply HexV to the current goal.
Let V be given.
Assume HVdata.
We prove the intermediate
claim HVTx:
V ∈ Tx.
An
exact proof term for the current goal is
(andEL (V ∈ Tx) (U = V ∩ Y) HVdata).
We prove the intermediate
claim HUeq:
U = V ∩ Y.
An
exact proof term for the current goal is
(andER (V ∈ Tx) (U = V ∩ Y) HVdata).
We prove the intermediate
claim HVin:
V ∈ Vset.
Apply (SepI Tx (λV0 : set ⇒ (V0 ∩ Y) ∈ A) V) to the current goal.
An exact proof term for the current goal is HVTx.
rewrite the current goal using HUeq (from right to left).
An exact proof term for the current goal is HUA.
We prove the intermediate
claim HVinA0:
V ∈ A0.
An
exact proof term for the current goal is
(binunionI1 Vset {Uc} V HVin).
We prove the intermediate
claim HxV:
x ∈ V.
We prove the intermediate
claim HxVy:
x ∈ V ∩ Y.
rewrite the current goal using HUeq (from right to left).
An exact proof term for the current goal is HxU.
An
exact proof term for the current goal is
(binintersectE1 V Y x HxVy).
An
exact proof term for the current goal is
(UnionI A0 x V HxV HVinA0).
We prove the intermediate
claim HxUc:
x ∈ Uc.
Apply (xm (x ∈ Uc)) to the current goal.
Assume HxU.
An exact proof term for the current goal is HxU.
Assume HxnotU.
We prove the intermediate
claim HxXU:
x ∈ X ∖ Uc.
An
exact proof term for the current goal is
(setminusI X Uc x HxX HxnotU).
We prove the intermediate
claim HxY':
x ∈ Y.
An
exact proof term for the current goal is
(mem_eqL x Y (X ∖ Uc) HYeq HxXU).
Apply FalseE to the current goal.
An exact proof term for the current goal is (HxnotY HxY').
We prove the intermediate
claim HUcA0:
Uc ∈ A0.
An
exact proof term for the current goal is
(UnionI A0 x Uc HxUc HUcA0).
Let W be given.
Apply (binunionE Vset {Uc} W HW (W ∈ Tx)) to the current goal.
An
exact proof term for the current goal is
(SepE1 Tx (λV0 : set ⇒ (V0 ∩ Y) ∈ A) W HWV).
We prove the intermediate
claim HWeq:
W = Uc.
An
exact proof term for the current goal is
(SingE Uc W HWsing).
rewrite the current goal using HWeq (from left to right).
An exact proof term for the current goal is HUcTx.
Apply HdimX to the current goal.
Assume Hcore Hprop.
An exact proof term for the current goal is Hprop.
Apply (HdimProp A0 HA0) to the current goal.
Let B be given.
Assume HBpack.
We use Bsub 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 HTy.
Let W be given.
Let V be given.
We prove the intermediate
claim Hsub:
V ∩ Y ⊆ Y.
We prove the intermediate
claim HWpow:
V ∩ Y ∈ 𝒫 Y.
An
exact proof term for the current goal is
(PowerI Y (V ∩ Y) Hsub).
rewrite the current goal using HWeq (from left to right).
An exact proof term for the current goal is HWpow.
Let y be given.
We prove the intermediate
claim HyX:
y ∈ X.
An exact proof term for the current goal is (HYsub y HyY).
We prove the intermediate
claim HyUB:
y ∈ ⋃ B.
Apply (UnionE B y HyUB) to the current goal.
Let V be given.
We prove the intermediate
claim HyV:
y ∈ V.
An
exact proof term for the current goal is
(andEL (y ∈ V) (V ∈ B) HyVpair).
We prove the intermediate
claim HVB:
V ∈ B.
An
exact proof term for the current goal is
(andER (y ∈ V) (V ∈ B) HyVpair).
We prove the intermediate
claim HyVy:
y ∈ V ∩ Y.
An
exact proof term for the current goal is
(binintersectI V Y y HyV HyY).
We prove the intermediate
claim Hnz:
¬ (V ∩ Y = Empty).
Assume Heq.
We prove the intermediate
claim HyE:
y ∈ Empty.
An
exact proof term for the current goal is
(mem_eqR y (V ∩ Y) Empty Heq HyVy).
An
exact proof term for the current goal is
(EmptyE y HyE).
We prove the intermediate
claim HVinBsub:
(V ∩ Y) ∈ Bsub.
An
exact proof term for the current goal is
(ReplSepI B (λV0 : set ⇒ ¬ (V0 ∩ Y = Empty)) (λV0 : set ⇒ V0 ∩ Y) V HVB Hnz).
An
exact proof term for the current goal is
(UnionI Bsub y (V ∩ Y) HyVy HVinBsub).
Let W be given.
Let V be given.
We prove the intermediate
claim HVTx:
V ∈ Tx.
rewrite the current goal using HWeq (from left to right).
An exact proof term for the current goal is HWsub.
Let W be given.
Let V be given.
We prove the intermediate
claim HexV0:
∃V0 : set, V0 ∈ A0 ∧ V ⊆ V0.
An exact proof term for the current goal is (HBrest V HVB).
Apply HexV0 to the current goal.
Let V0 be given.
Assume HV0pair.
We prove the intermediate
claim HV0A0:
V0 ∈ A0.
An
exact proof term for the current goal is
(andEL (V0 ∈ A0) (V ⊆ V0) HV0pair).
We prove the intermediate
claim HVsubV0:
V ⊆ V0.
An
exact proof term for the current goal is
(andER (V0 ∈ A0) (V ⊆ V0) HV0pair).
We prove the intermediate
claim HV0notUc:
V0 ≠ Uc.
Assume HV0eq.
We prove the intermediate
claim HVsubUc:
V ⊆ Uc.
rewrite the current goal using HV0eq (from right to left).
An exact proof term for the current goal is HVsubV0.
We prove the intermediate
claim Hempty:
V ∩ Y = Empty.
Let z be given.
We prove the intermediate
claim HzV:
z ∈ V.
An
exact proof term for the current goal is
(binintersectE1 V Y z Hz).
We prove the intermediate
claim HzUc:
z ∈ Uc.
An exact proof term for the current goal is (HVsubUc z HzV).
We prove the intermediate
claim HzY:
z ∈ Y.
An
exact proof term for the current goal is
(binintersectE2 V Y z Hz).
We prove the intermediate
claim HzXU:
z ∈ X ∖ Uc.
An
exact proof term for the current goal is
(mem_eqR z Y (X ∖ Uc) HYeq HzY).
We prove the intermediate
claim HznotUc:
z ∉ Uc.
An
exact proof term for the current goal is
(setminusE2 X Uc z HzXU).
Apply FalseE to the current goal.
An exact proof term for the current goal is (HznotUc HzUc).
Apply FalseE to the current goal.
An exact proof term for the current goal is (Hnz Hempty).
We prove the intermediate
claim HV0Vset:
V0 ∈ Vset.
Apply (binunionE Vset {Uc} V0 HV0A0 (V0 ∈ Vset)) to the current goal.
Assume HV0V.
An exact proof term for the current goal is HV0V.
Assume HV0sing.
We prove the intermediate
claim HV0eq:
V0 = Uc.
An
exact proof term for the current goal is
(SingE Uc V0 HV0sing).
Apply FalseE to the current goal.
An exact proof term for the current goal is (HV0notUc HV0eq).
We prove the intermediate
claim HV0YinA:
(V0 ∩ Y) ∈ A.
An
exact proof term for the current goal is
(SepE2 Tx (λV1 : set ⇒ (V1 ∩ Y) ∈ A) V0 HV0Vset).
We use
(V0 ∩ Y) to
witness the existential quantifier.
Apply andI to the current goal.
An exact proof term for the current goal is HV0YinA.
rewrite the current goal using HWeq (from left to right).
Let z be given.
We prove the intermediate
claim HzV:
z ∈ V.
An
exact proof term for the current goal is
(binintersectE1 V Y z Hz).
We prove the intermediate
claim HzY:
z ∈ Y.
An
exact proof term for the current goal is
(binintersectE2 V Y z Hz).
We prove the intermediate
claim HzV0:
z ∈ V0.
An exact proof term for the current goal is (HVsubV0 z HzV).
An
exact proof term for the current goal is
(binintersectI V0 Y z HzV0 HzY).
Let W be given.
Let V be given.
An
exact proof term for the current goal is
(ReplI B (λV0 : set ⇒ V0 ∩ Y) V HVB).
rewrite the current goal using HWeq (from left to right).
An exact proof term for the current goal is HVres.
∎