∀ (M : Type u_1) (N : Type u_2) [inst : AddZeroClass M] [inst_1 : AddZeroClass N],
  AddMonoid.coprodCon M N =
    sInf
      {c |
        (∀ (x y : M),
            c (FreeAddMonoid.of (Sum.inl (x + y))) (FreeAddMonoid.of (Sum.inl x) + FreeAddMonoid.of (Sum.inl y))) ∧
          (∀ (x y : N),
              c (FreeAddMonoid.of (Sum.inr (x + y))) (FreeAddMonoid.of (Sum.inr x) + FreeAddMonoid.of (Sum.inr y))) ∧
            c (FreeAddMonoid.of (Sum.inl 0)) 0 ∧ c (FreeAddMonoid.of (Sum.inr 0)) 0}