nat.succ ((⟨nat.rec ⟨(λ (a : ℕ) (_F : nat.below a) (a_1 : ℕ), (λ (a a_1 : ℕ) (_F : nat.below a_1), nat.cases_on a_1 (λ (_F : nat.below 0), a) (λ (a_1 : ℕ) (_F : nat.below (nat.succ a_1)), nat.succ ((_F^.fst)^.fst a)) _F) a_1 a _F) 0 punit.star, punit.star⟩ (λ (a : ℕ) (ih_1 : pprod ((λ (a : ℕ), ℕ → ℕ) a) (nat.below a)), ⟨(λ (a : ℕ) (_F : nat.below a) (a_1 : ℕ), (λ (a a_1 : ℕ) (_F : nat.below a_1), nat.cases_on a_1 (λ (_F : nat.below 0), a) (λ (a_1 : ℕ) (_F : nat.below (nat.succ a_1)), nat.succ ((_F^.fst)^.fst a)) _F) a_1 a _F) (nat.succ a) ⟨ih_1, punit.star⟩, ⟨ih_1, punit.star⟩⟩) ((⟨nat.rec ⟨(λ (a : ℕ) (_F : nat.below a) (a_1 : ℕ), (λ (a a_1 : ℕ) (_F : nat.below a_1), nat.cases_on a_1 (λ (_F : nat.below 0), a) (λ (a_1 : ℕ) (_F : nat.below (nat.succ a_1)), nat.succ ((_F^.fst)^.fst a)) _F) a_1 a _F) 0 punit.star, punit.star⟩ (λ (a : ℕ) (ih_1 : pprod ((λ (a : ℕ), ℕ → ℕ) a) (nat.below a)), ⟨(λ (a : ℕ) (_F : nat.below a) (a_1 : ℕ), (λ (a a_1 : ℕ) (_F : nat.below a_1), nat.cases_on a_1 (λ (_F : nat.below 0), a) (λ (a_1 : ℕ) (_F : nat.below (nat.succ a_1)), nat.succ ((_F^.fst)^.fst a)) _F) a_1 a _F) (nat.succ a) ⟨ih_1, punit.star⟩, ⟨ih_1, punit.star⟩⟩) 0, punit.star⟩^.fst)^.fst 1), punit.star⟩^.fst)^.fst a) nat.succ ((⟨nat.rec ⟨(λ (a : ℕ) (_F : nat.below a) (a_1 : ℕ), (λ (a a_1 : ℕ) (_F : nat.below a_1), nat.cases_on a_1 (λ (_F : nat.below 0), a) (λ (a_1 : ℕ) (_F : nat.below (nat.succ a_1)), nat.succ ((_F^.fst)^.fst a)) _F) a_1 a _F) 0 punit.star, punit.star⟩ (λ (a : ℕ) (ih_1 : pprod ((λ (a : ℕ), ℕ → ℕ) a) (nat.below a)), ⟨(λ (a : ℕ) (_F : nat.below a) (a_1 : ℕ), (λ (a a_1 : ℕ) (_F : nat.below a_1), nat.cases_on a_1 (λ (_F : nat.below 0), a) (λ (a_1 : ℕ) (_F : nat.below (nat.succ a_1)), nat.succ ((_F^.fst)^.fst a)) _F) a_1 a _F) (nat.succ a) ⟨ih_1, punit.star⟩, ⟨ih_1, punit.star⟩⟩) ((⟨nat.rec ⟨(λ (a : ℕ) (_F : nat.below a) (a_1 : ℕ), (λ (a a_1 : ℕ) (_F : nat.below a_1), nat.cases_on a_1 (λ (_F : nat.below 0), a) (λ (a_1 : ℕ) (_F : nat.below (nat.succ a_1)), nat.succ ((_F^.fst)^.fst a)) _F) a_1 a _F) 0 punit.star, punit.star⟩ (λ (a : ℕ) (ih_1 : pprod ((λ (a : ℕ), ℕ → ℕ) a) (nat.below a)), ⟨(λ (a : ℕ) (_F : nat.below a) (a_1 : ℕ), (λ (a a_1 : ℕ) (_F : nat.below a_1), nat.cases_on a_1 (λ (_F : nat.below 0), a) (λ (a_1 : ℕ) (_F : nat.below (nat.succ a_1)), nat.succ ((_F^.fst)^.fst a)) _F) a_1 a _F) (nat.succ a) ⟨ih_1, punit.star⟩, ⟨ih_1, punit.star⟩⟩) 0, punit.star⟩^.fst)^.fst 1), punit.star⟩^.fst)^.fst a) f a a + 2