Apply HsepX to the current goal.
Let U be given.
Apply HsepX_V to the current goal.
Let V be given.
Assume HUV.
We prove the intermediate
claim HU:
U ∈ Tx.
We prove the intermediate
claim HV:
V ∈ Tx.
We prove the intermediate
claim Helems:
(∃x : set, x ∈ U) ∧ (∃y : set, y ∈ V).
We prove the intermediate
claim HexU:
∃x : set, x ∈ U.
An
exact proof term for the current goal is
(andEL (∃x : set, x ∈ U) (∃y : set, y ∈ V) Helems).
We prove the intermediate
claim HexV:
∃y : set, y ∈ V.
An
exact proof term for the current goal is
(andER (∃x : set, x ∈ U) (∃y : set, y ∈ V) Helems).
Apply HexU to the current goal.
Let x be given.
Apply HexV to the current goal.
Let y be given.
We prove the intermediate
claim Hsubsets:
U ⊆ X ∧ V ⊆ X.
We prove the intermediate
claim HU_sub:
U ⊆ X.
An
exact proof term for the current goal is
(andEL (U ⊆ X) (V ⊆ X) Hsubsets).
We prove the intermediate
claim HV_sub:
V ⊆ X.
An
exact proof term for the current goal is
(andER (U ⊆ X) (V ⊆ X) Hsubsets).
We prove the intermediate
claim HxinX:
x ∈ X.
An
exact proof term for the current goal is
(subset_elem U X x HU_sub Hx).
We prove the intermediate
claim HyinX:
y ∈ X.
An
exact proof term for the current goal is
(subset_elem V X y HV_sub Hy).
An exact proof term for the current goal is (Hpath_prop x y HxinX HyinX).
Apply Hpathxy to the current goal.
Let p be given.
Assume Hp_and_cont.
We prove the intermediate
claim Hp0eq:
apply_fun p 0 = x.
We prove the intermediate
claim Hp1eq:
apply_fun p 1 = y.
We prove the intermediate
claim Hsep_pow_disj:
(U ∈ 𝒫 X ∧ V ∈ 𝒫 X) ∧ U ∩ V = Empty.
We prove the intermediate
claim HdisjUV:
U ∩ V = Empty.
An
exact proof term for the current goal is
(andER (U ∈ 𝒫 X ∧ V ∈ 𝒫 X) (U ∩ V = Empty) Hsep_pow_disj).
We prove the intermediate
claim HunionUV:
U ∪ V = X.
Apply andI to the current goal.
Apply andI to the current goal.
Apply andI to the current goal.
Apply andI to the current goal.
Apply andI to the current goal.
Apply PowerI to the current goal.
Let t be given.
Apply PowerI to the current goal.
Let t be given.
Let t be given.
We prove the intermediate
claim HpU:
apply_fun p t ∈ U.
We prove the intermediate
claim HpV:
apply_fun p t ∈ V.
We prove the intermediate
claim HpUV:
apply_fun p t ∈ U ∩ V.
rewrite the current goal using HdisjUV (from right to left).
An exact proof term for the current goal is HpUV.
An
exact proof term for the current goal is
(EmptyE (apply_fun p t) Hfalse).
We prove the intermediate
claim HxU:
apply_fun p 0 ∈ U.
rewrite the current goal using Hp0eq (from left to right).
An exact proof term for the current goal is Hx.
We prove the intermediate
claim H0pre:
0 ∈ preU.
We prove the intermediate
claim Hsub:
preU ⊆ Empty.
rewrite the current goal using Heq (from left to right).
We prove the intermediate
claim H0Empty:
0 ∈ Empty.
An
exact proof term for the current goal is
(Hsub 0 H0pre).
An
exact proof term for the current goal is
(EmptyE 0 H0Empty).
We prove the intermediate
claim HyV:
apply_fun p 1 ∈ V.
rewrite the current goal using Hp1eq (from left to right).
An exact proof term for the current goal is Hy.
We prove the intermediate
claim H1pre:
1 ∈ preV.
We prove the intermediate
claim Hsub:
preV ⊆ Empty.
rewrite the current goal using Heq (from left to right).
We prove the intermediate
claim H1Empty:
1 ∈ Empty.
An
exact proof term for the current goal is
(Hsub 1 H1pre).
An
exact proof term for the current goal is
(EmptyE 1 H1Empty).
Let t be given.
Apply (binunionE preU preV t Ht) to the current goal.
Let t be given.
We will
prove t ∈ preU ∪ preV.
We prove the intermediate
claim HptX:
apply_fun p t ∈ X.
An exact proof term for the current goal is (Hpfunc t HtI).
We prove the intermediate
claim HptUV:
apply_fun p t ∈ U ∪ V.
rewrite the current goal using HunionUV (from left to right).
An exact proof term for the current goal is HptX.
We use preU to witness the existential quantifier.
We use preV 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 HpreimgU.
An exact proof term for the current goal is HpreimgV.
An exact proof term for the current goal is Hsep_UV.
Apply Hunit_nosep to the current goal.
An exact proof term for the current goal is Hsep_exists.
∎