Let x be given.
We prove the intermediate
claim HxX:
x ∈ X.
An
exact proof term for the current goal is
(SepE1 X (λx0 : set ⇒ apply_fun h x0 ∈ D) x Hx).
We prove the intermediate
claim HhDx:
apply_fun h x ∈ D.
An
exact proof term for the current goal is
(SepE2 X (λx0 : set ⇒ apply_fun h x0 ∈ D) x Hx).
Apply (ReplE Y (λy : set ⇒ (y,y)) (apply_fun h x) HhDx) to the current goal.
Let y be given.
Assume HyPair.
We prove the intermediate
claim HyY:
y ∈ Y.
An
exact proof term for the current goal is
(andEL (y ∈ Y) (apply_fun h x = (y,y)) HyPair).
We prove the intermediate
claim HeqPair:
apply_fun h x = (y,y).
An
exact proof term for the current goal is
(andER (y ∈ Y) (apply_fun h x = (y,y)) HyPair).
An
exact proof term for the current goal is
(pair_map_apply X Y Y f g x HxX).
rewrite the current goal using Happ (from right to left).
An exact proof term for the current goal is HeqPair.
We prove the intermediate
claim H0eq:
(y,y) 0 = apply_fun f x.
rewrite the current goal using HfgEq (from right to left).
An exact proof term for the current goal is H0.
We prove the intermediate
claim H1eq:
(y,y) 1 = apply_fun g x.
rewrite the current goal using HfgEq (from right to left).
An exact proof term for the current goal is H1.
We prove the intermediate
claim Hyfx:
y = apply_fun f x.
rewrite the current goal using
(tuple_2_0_eq y y) (from right to left).
An exact proof term for the current goal is H0eq.
We prove the intermediate
claim Hygx:
y = apply_fun g x.
rewrite the current goal using
(tuple_2_1_eq y y) (from right to left).
An exact proof term for the current goal is H1eq.
rewrite the current goal using Hyfx (from right to left).
rewrite the current goal using Hygx (from right to left).
Use reflexivity.
Let x be given.
We prove the intermediate
claim HxX:
x ∈ X.
We prove the intermediate
claim Hf_fun:
function_on f X Y.
We prove the intermediate
claim HfxY:
apply_fun f x ∈ Y.
An exact proof term for the current goal is (Hf_fun x HxX).
An
exact proof term for the current goal is
(pair_map_apply X Y Y f g x HxX).
We prove the intermediate
claim Himg:
apply_fun h x ∈ D.
rewrite the current goal using Happ (from left to right).
rewrite the current goal using Hfg (from right to left).
An
exact proof term for the current goal is
(ReplI Y (λy : set ⇒ (y,y)) (apply_fun f x) HfxY).
An
exact proof term for the current goal is
(SepI X (λx0 : set ⇒ apply_fun h x0 ∈ D) x HxX Himg).