Let p be given.
We prove the intermediate
claim HpProd:
p ∈ setprod ω R.
An exact proof term for the current goal is (Hsubf p Hp).
Apply (Sigma_E ω (λ_ : set ⇒ R) p HpProd) to the current goal.
Let n be given.
Assume Hn_pair.
Apply Hn_pair to the current goal.
Assume Hrest.
Apply Hrest to the current goal.
Let y be given.
Assume Hy_pair.
Apply Hy_pair to the current goal.
Assume Hpdef.
We prove the intermediate
claim HpdefT:
p = (n,y).
rewrite the current goal using
(tuple_pair n y) (from right to left) at position 1.
An exact proof term for the current goal is Hpdef.
rewrite the current goal using HpdefT (from left to right).
We prove the intermediate
claim Hpf:
(n,y) ∈ f.
rewrite the current goal using HpdefT (from right to left).
An exact proof term for the current goal is Hp.
We prove the intermediate
claim Happf:
apply_fun f n = y.
We prove the intermediate
claim Happg:
apply_fun g n = y.
rewrite the current goal using Happf (from right to left).
Use symmetry.
An exact proof term for the current goal is (Heqpt n Hn).
We prove the intermediate
claim Hpg:
(n,apply_fun g n) ∈ g.
We prove the intermediate
claim HtupEq:
(n,apply_fun g n) = (n,y).
rewrite the current goal using Happg (from left to right).
Use reflexivity.
rewrite the current goal using HtupEq (from right to left).
An exact proof term for the current goal is Hpg.
Let p be given.
We prove the intermediate
claim HpProd:
p ∈ setprod ω R.
An exact proof term for the current goal is (Hsubg p Hp).
Apply (Sigma_E ω (λ_ : set ⇒ R) p HpProd) to the current goal.
Let n be given.
Assume Hn_pair.
Apply Hn_pair to the current goal.
Assume Hrest.
Apply Hrest to the current goal.
Let y be given.
Assume Hy_pair.
Apply Hy_pair to the current goal.
Assume Hpdef.
We prove the intermediate
claim HpdefT:
p = (n,y).
rewrite the current goal using
(tuple_pair n y) (from right to left) at position 1.
An exact proof term for the current goal is Hpdef.
rewrite the current goal using HpdefT (from left to right).
We prove the intermediate
claim Hpg:
(n,y) ∈ g.
rewrite the current goal using HpdefT (from right to left).
An exact proof term for the current goal is Hp.
We prove the intermediate
claim Happg:
apply_fun g n = y.
We prove the intermediate
claim Happf:
apply_fun f n = y.
rewrite the current goal using Happg (from right to left).
An exact proof term for the current goal is (Heqpt n Hn).
We prove the intermediate
claim Hpf:
(n,apply_fun f n) ∈ f.
We prove the intermediate
claim HtupEq:
(n,apply_fun f n) = (n,y).
rewrite the current goal using Happf (from left to right).
Use reflexivity.
rewrite the current goal using HtupEq (from right to left).
An exact proof term for the current goal is Hpf.