Let x0 of type ι → ο be given.
Assume H0:
∀ x1 . x0 x1 ⟶ ∀ x2 . x0 x2 ⟶ x0 (setsum x1 x2).
Let x1 of type ο be given.
Assume H1:
∀ x2 : ι → ι → ι . (∃ x3 x4 : ι → ι → ι . ∃ x5 : ι → ι → ι → ι → ι → ι . MetaCat_coproduct_constr_p x0 HomSet (λ x6 . lam x6 (λ x7 . x7)) (λ x6 x7 x8 x9 x10 . lam x6 (λ x11 . ap x9 (ap x10 x11))) x2 x3 x4 x5) ⟶ x1.
Apply H1 with
setsum.
Let x2 of type ο be given.
Apply H2 with
λ x3 x4 . lam x3 (λ x5 . Inj0 x5).
Let x3 of type ο be given.
Apply H3 with
λ x4 x5 . lam x5 (λ x6 . Inj1 x6).
Let x4 of type ο be given.
Apply H4 with
λ x5 x6 x7 x8 x9 . lam (setsum x5 x6) (λ x10 . combine_funcs x5 x6 (λ x11 . ap x8 x11) (λ x11 . ap x9 x11) x10).
Let x5 of type ι be given.
Let x6 of type ι be given.
Assume H5: x0 x5.
Assume H6: x0 x6.