Let y be given.
We will
prove y ∈ ⋃ VFam.
Set p to be the term (x,y).
We prove the intermediate
claim HpXY:
p ∈ setprod X Y.
We prove the intermediate
claim HpInUnion:
p ∈ ⋃ Fam.
An exact proof term for the current goal is (HcovXY p HpXY).
Let N0 be given.
An exact proof term for the current goal is (HFamOpen N0 HN0Fam).
We prove the intermediate
claim HN0refine:
∀q ∈ N0, ∃b ∈ B, q ∈ b ∧ b ⊆ N0.
An
exact proof term for the current goal is
(SepE2 (𝒫 (setprod X Y)) (λU0 : set ⇒ ∀q ∈ U0, ∃b ∈ B, q ∈ b ∧ b ⊆ U0) N0 HN0Top).
We prove the intermediate
claim Hexb:
∃b ∈ B, p ∈ b ∧ b ⊆ N0.
An exact proof term for the current goal is (HN0refine p HpN0).
Apply Hexb to the current goal.
Let b be given.
Assume Hbpair.
We prove the intermediate
claim HbB:
b ∈ B.
An
exact proof term for the current goal is
(andEL (b ∈ B) (p ∈ b ∧ b ⊆ N0) Hbpair).
We prove the intermediate
claim Hbprop:
p ∈ b ∧ b ⊆ N0.
An
exact proof term for the current goal is
(andER (b ∈ B) (p ∈ b ∧ b ⊆ N0) Hbpair).
We prove the intermediate
claim Hpb:
p ∈ b.
An
exact proof term for the current goal is
(andEL (p ∈ b) (b ⊆ N0) Hbprop).
We prove the intermediate
claim HbsubN0:
b ⊆ N0.
An
exact proof term for the current goal is
(andER (p ∈ b) (b ⊆ N0) Hbprop).
Let U0 be given.
Let V0 be given.
We prove the intermediate
claim HpUV:
p ∈ setprod U0 V0.
rewrite the current goal using HbEq (from right to left) at position 1.
An exact proof term for the current goal is Hpb.
We prove the intermediate
claim Hcoords:
x ∈ U0 ∧ y ∈ V0.
An
exact proof term for the current goal is
(setprod_coords_in x y U0 V0 p HpXY0 HpUV).
We prove the intermediate
claim HxU0:
x ∈ U0.
An
exact proof term for the current goal is
(andEL (x ∈ U0) (y ∈ V0) Hcoords).
We prove the intermediate
claim HyV0:
y ∈ V0.
An
exact proof term for the current goal is
(andER (x ∈ U0) (y ∈ V0) Hcoords).
We prove the intermediate
claim HrectSub:
setprod U0 V0 ⊆ N0.
rewrite the current goal using HbEq (from right to left) at position 1.
An exact proof term for the current goal is HbsubN0.
We prove the intermediate
claim HV0Fam:
V0 ∈ VFam.
Apply (SepI Ty (λV1 : set ⇒ ∃U1 : set, U1 ∈ Tx ∧ x ∈ U1 ∧ ∃N1 : set, N1 ∈ Fam ∧ setprod U1 V1 ⊆ N1) V0 HV0Ty) to the current goal.
We use U0 to witness the existential quantifier.
Apply andI to the current goal.
An
exact proof term for the current goal is
(andI (U0 ∈ Tx) (x ∈ U0) HU0Tx HxU0).
We use N0 to witness the existential quantifier.
An
exact proof term for the current goal is
(andI (N0 ∈ Fam) (setprod U0 V0 ⊆ N0) HN0Fam HrectSub).
An
exact proof term for the current goal is
(UnionI VFam y V0 HyV0 HV0Fam).
Let V be given.
We prove the intermediate
claim Hprop:
pickU V ∈ Tx ∧ x ∈ pickU V ∧ ∃N0 : set, N0 ∈ Fam ∧ setprod (pickU V) V ⊆ N0.
An exact proof term for the current goal is (HpickU V HV).
We prove the intermediate
claim HpropAB:
pickU V ∈ Tx ∧ x ∈ pickU V.
An
exact proof term for the current goal is
(andEL (pickU V ∈ Tx ∧ x ∈ pickU V) (∃N0 : set, N0 ∈ Fam ∧ setprod (pickU V) V ⊆ N0) Hprop).
We prove the intermediate
claim HexN:
∃N0 : set, N0 ∈ Fam ∧ setprod (pickU V) V ⊆ N0.
An
exact proof term for the current goal is
(andER (pickU V ∈ Tx ∧ x ∈ pickU V) (∃N0 : set, N0 ∈ Fam ∧ setprod (pickU V) V ⊆ N0) Hprop).
Apply HexN to the current goal.
Let N0 be given.
An
exact proof term for the current goal is
(Eps_i_ax (λN1 : set ⇒ N1 ∈ Fam ∧ setprod (pickU V) V ⊆ N1) N0 HN0).
Let p be given.
We prove the intermediate
claim Hp0:
p 0 ∈ {x}.
An
exact proof term for the current goal is
(ap0_Sigma {x} (λ_ : set ⇒ Y) p Hp).
We prove the intermediate
claim Hp1:
p 1 ∈ Y.
An
exact proof term for the current goal is
(ap1_Sigma {x} (λ_ : set ⇒ Y) p Hp).
We prove the intermediate
claim Hp0eq:
p 0 = x.
An
exact proof term for the current goal is
(SingE x (p 0) Hp0).
We prove the intermediate
claim HpEta:
p = (p 0,p 1).
An
exact proof term for the current goal is
(setprod_eta {x} Y p Hp).
We prove the intermediate
claim Hp1InUnion:
p 1 ∈ ⋃ G.
An
exact proof term for the current goal is
(HYcovG (p 1) Hp1).
Let V0 be given.
We prove the intermediate
claim HV0Fam:
V0 ∈ VFam.
An exact proof term for the current goal is (HGsub V0 HV0G).
We prove the intermediate
claim HUN:
pickU V0 ∈ Tx ∧ x ∈ pickU V0 ∧ ∃N0 : set, N0 ∈ Fam ∧ setprod (pickU V0) V0 ⊆ N0.
An exact proof term for the current goal is (HpickU V0 HV0Fam).
We prove the intermediate
claim HUNAB:
pickU V0 ∈ Tx ∧ x ∈ pickU V0.
An
exact proof term for the current goal is
(andEL (pickU V0 ∈ Tx ∧ x ∈ pickU V0) (∃N0 : set, N0 ∈ Fam ∧ setprod (pickU V0) V0 ⊆ N0) HUN).
We prove the intermediate
claim HxPick:
x ∈ pickU V0.
An
exact proof term for the current goal is
(andER (pickU V0 ∈ Tx) (x ∈ pickU V0) HUNAB).
We prove the intermediate
claim HNprop:
pickN V0 ∈ Fam ∧ setprod (pickU V0) V0 ⊆ pickN V0.
An exact proof term for the current goal is (HpickN V0 HV0Fam).
We prove the intermediate
claim HrectSub:
setprod (pickU V0) V0 ⊆ pickN V0.
An
exact proof term for the current goal is
(andER (pickN V0 ∈ Fam) (setprod (pickU V0) V0 ⊆ pickN V0) HNprop).
We prove the intermediate
claim HpInRect:
(x,p 1) ∈ setprod (pickU V0) V0.
We prove the intermediate
claim HpInN:
(x,p 1) ∈ pickN V0.
An
exact proof term for the current goal is
(HrectSub (x,p 1) HpInRect).
We prove the intermediate
claim HNinH:
pickN V0 ∈ H.
An
exact proof term for the current goal is
(ReplI G (λV1 : set ⇒ pickN V1) V0 HV0G).
rewrite the current goal using HpEta (from left to right).
rewrite the current goal using Hp0eq (from left to right) at position 1.
An
exact proof term for the current goal is
(UnionI H (x,p 1) (pickN V0) HpInN HNinH).