First, each morphism f : A → 0 induces a unique morphism f . pr1 : A x 0 → 0. Proof: suppose f . pr1 = g . pr1. Then we have f = f . pr1 . (id, f) = g . pr1 . (id, f) = g.
Corollary: if you have exponential objects, then if you have any f : A → 0, then A ≈ 0, because there’s only one morphism 0 → 0^A.
But, if you have coexponential objects, any hom set A → B can instead be expressed as a hom set A-B → 0. This shows A-B ≈ 0, and also all homs are equal.
Ahh, now I’ve got it:
First, each morphism f : A → 0 induces a unique morphism f . pr1 : A x 0 → 0. Proof: suppose f . pr1 = g . pr1. Then we have f = f . pr1 . (id, f) = g . pr1 . (id, f) = g.
Corollary: if you have exponential objects, then if you have any f : A → 0, then A ≈ 0, because there’s only one morphism 0 → 0^A.
But, if you have coexponential objects, any hom set A → B can instead be expressed as a hom set A-B → 0. This shows A-B ≈ 0, and also all homs are equal.