Let p be given.
We prove the intermediate
claim HpXY:
p ∈ setprod X Y.
An exact proof term for the current goal is (HSlicesub p HpSlice).
We prove the intermediate
claim Hp1Y:
(p 1) ∈ Y.
An
exact proof term for the current goal is
(ap1_Sigma {x0} (λ_ : set ⇒ Y) p HpSlice).
rewrite the current goal using Happ2 (from left to right).
An
exact proof term for the current goal is
(pair_map_apply Y X Y c idY (p 1) Hp1Y).
We prove the intermediate
claim Hcapp:
apply_fun c (p 1) = x0.
We prove the intermediate
claim Hidapp:
apply_fun idY (p 1) = (p 1).
rewrite the current goal using Happf (from left to right).
rewrite the current goal using Hcapp (from left to right).
rewrite the current goal using Hidapp (from left to right).
We prove the intermediate
claim Hp0Sing:
(p 0) ∈ {x0}.
An
exact proof term for the current goal is
(ap0_Sigma {x0} (λ_ : set ⇒ Y) p HpSlice).
We prove the intermediate
claim Hp0eq:
(p 0) = x0.
An
exact proof term for the current goal is
(singleton_elem (p 0) x0 Hp0Sing).
We prove the intermediate
claim Heta:
p = (p 0,p 1).
An
exact proof term for the current goal is
(setprod_eta {x0} Y p HpSlice).
We prove the intermediate
claim HtupleEq:
(p 0,p 1) = p.
rewrite the current goal using Heta (from right to left).
Use reflexivity.
rewrite the current goal using Hp0eq (from right to left) at position 1.
An exact proof term for the current goal is HtupleEq.