We prove the intermediate
claim Hg0fun:
function_on (graph X (λx : set ⇒ partial_sum x 0)) X R.
Let x be given.
We prove the intermediate
claim Happ:
apply_fun (graph X (λx0 : set ⇒ partial_sum x0 0)) x = partial_sum x 0.
An
exact proof term for the current goal is
(apply_fun_graph X (λx0 : set ⇒ partial_sum x0 0) x HxX).
rewrite the current goal using Happ (from left to right).
We prove the intermediate
claim Hdef0:
partial_sum x 0 = nat_primrec 0 (sum_step x) 0.
rewrite the current goal using Hdef0 (from left to right).
rewrite the current goal using
(nat_primrec_0 0 (sum_step x)) (from left to right).
An
exact proof term for the current goal is
real_0.
Let x be given.
rewrite the current goal using Hconst (from left to right).
We prove the intermediate
claim Happ:
apply_fun (graph X (λx0 : set ⇒ partial_sum x0 0)) x = partial_sum x 0.
An
exact proof term for the current goal is
(apply_fun_graph X (λx0 : set ⇒ partial_sum x0 0) x HxX).
rewrite the current goal using Happ (from left to right).
We prove the intermediate
claim Hdef0:
partial_sum x 0 = nat_primrec 0 (sum_step x) 0.
rewrite the current goal using Hdef0 (from left to right).
rewrite the current goal using
(nat_primrec_0 0 (sum_step x)) (from left to right).
Use reflexivity.
Let m be given.
Assume IH: Pw m.
We prove the intermediate
claim Hsub:
ordsucc m ⊆ n.
We prove the intermediate
claim HmInN:
m ∈ n.
An
exact proof term for the current goal is
(Hsub m (ordsuccI2 m)).
We prove the intermediate
claim HmInSuccN:
m ∈ ordsucc n.
An
exact proof term for the current goal is
(ordsuccI1 n m HmInN).
An exact proof term for the current goal is (IH HmInSuccN).
We prove the intermediate
claim HfkF:
apply_fun e m ∈ F.
An exact proof term for the current goal is (HeFun m HmInN).
An
exact proof term for the current goal is
(HcontF (apply_fun e m) HfkF).
Let x be given.
An
exact proof term for the current goal is
(apply_fun_graph X (λx0 : set ⇒ partial_sum x0 (ordsucc m)) x HxX).
rewrite the current goal using HappS (from left to right).
rewrite the current goal using HdefS (from left to right).
An
exact proof term for the current goal is
(nat_primrec_S 0 (sum_step x) m HmNat).
rewrite the current goal using HprimS (from left to right).
We prove the intermediate
claim HaccEq:
nat_primrec 0 (sum_step x) m = partial_sum x m.
rewrite the current goal using HaccEq (from left to right).
We prove the intermediate
claim HaccR:
partial_sum x m ∈ R.
We prove the intermediate
claim Happm:
apply_fun (graph X (λx0 : set ⇒ partial_sum x0 m)) x = partial_sum x m.
An
exact proof term for the current goal is
(apply_fun_graph X (λx0 : set ⇒ partial_sum x0 m) x HxX).
rewrite the current goal using Happm (from right to left).
We prove the intermediate
claim HstepDef:
sum_step x m (partial_sum x m) = add_SNo (partial_sum x m) (apply_fun (apply_fun e m) x).
rewrite the current goal using HstepDef (from left to right).
Let x be given.
We prove the intermediate
claim HsumR:
apply_fun (graph X (λx0 : set ⇒ partial_sum x0 m)) x ∈ R.
rewrite the current goal using Hadd (from left to right).
We prove the intermediate
claim Happm:
apply_fun (graph X (λx0 : set ⇒ partial_sum x0 m)) x = partial_sum x m.
An
exact proof term for the current goal is
(apply_fun_graph X (λx0 : set ⇒ partial_sum x0 m) x HxX).
rewrite the current goal using Happm (from left to right).
An
exact proof term for the current goal is
(apply_fun_graph X (λx0 : set ⇒ partial_sum x0 (ordsucc m)) x HxX).
rewrite the current goal using HappS (from left to right).
rewrite the current goal using HdefS (from left to right).
An
exact proof term for the current goal is
(nat_primrec_S 0 (sum_step x) m HmNat).
rewrite the current goal using HprimS (from left to right).
We prove the intermediate
claim HaccEq:
nat_primrec 0 (sum_step x) m = partial_sum x m.
rewrite the current goal using HaccEq (from left to right).
We prove the intermediate
claim HstepDef:
sum_step x m (partial_sum x m) = add_SNo (partial_sum x m) (apply_fun (apply_fun e m) x).
rewrite the current goal using HstepDef (from left to right).
Use reflexivity.