/-- Witness that the limit cone in `SemiRingCat` is a limit cone.
(Internal use only; use the limits API.)
-/
def limitConeIsLimit (F : J ⥤ SemiRingCatMax.{v, u}) : IsLimit (limitCone F) := by
  refine IsLimit.ofFaithful (forget SemiRingCatMax.{v, u}) (Types.limitConeIsLimit.{v, u} _)
    (fun s : Cone F => ofHom
      { toFun := _
        map_one' := Subtype.ext <| funext fun j => by exact (s.π.app j).map_one
        map_mul' := fun x y => Subtype.ext <| funext fun j => by 

Proof state:
J : Type v
inst✝ : SmallCategory J
F : J ⥤ SemiRingCatMax
s : Cone F
x y : ↑s.1
j : J
⊢ ↑(OneHom.toFun
          {
            toFun := fun v =>
              { val := fun j => ((forget SemiRingCatMax).mapCone s).π.app j v,
                property :=
                  (_ :
                    ∀ {j j' : J} (f : j ⟶ j'),
                      (((forget SemiRingCatMax).mapCone s).π.app j ≫ (F ⋙ forget SemiRingCatMax).map f) v =
                        ((forget SemiRingCatMax).mapCone s).π.app j' v) },
            map_one' :=
              (_ :
                { val := fun j => ((forget SemiRingCatMax).mapCone s).π.app j 1,
                    property :=
                      (_ :
                        ∀ {j j' : J} (f : j ⟶ j'),
                          (((forget SemiRingCatMax).mapCone s).π.app j ≫ (F ⋙ forget SemiRingCatMax).map f) 1 =
                            ((forget SemiRingCatMax).mapCone s).π.app j' 1) } =
                  1) }
          (x * y))
      j =
    ↑(OneHom.toFun
            {
              toFun := fun v =>
                { val := fun j => ((forget SemiRingCatMax).mapCone s).π.app j v,
                  property :=
                    (_ :
                      ∀ {j j' : J} (f : j ⟶ j'),
                        (((forget SemiRingCatMax).mapCone s).π.app j ≫ (F ⋙ forget SemiRingCatMax).map f) v =
                          ((forget SemiRingCatMax).mapCone s).π.app j' v) },
              map_one' :=
                (_ :
                  { val := fun j => ((forget SemiRingCatMax).mapCone s).π.app j 1,
                      property :=
                        (_ :
                          ∀ {j j' : J} (f : j ⟶ j'),
                            (((forget SemiRingCatMax).mapCone s).π.app j ≫ (F ⋙ forget SemiRingCatMax).map f) 1 =
                              ((forget SemiRingCatMax).mapCone s).π.app j' 1) } =
                    1) }
            x *
          OneHom.toFun
            {
              toFun := fun v =>
                { val := fun j => ((forget SemiRingCatMax).mapCone s).π.app j v,
                  property :=
                    (_ :
                      ∀ {j j' : J} (f : j ⟶ j'),
                        (((forget SemiRingCatMax).mapCone s).π.app j ≫ (F ⋙ forget SemiRingCatMax).map f) v =
                          ((forget SemiRingCatMax).mapCone s).π.app j' v) },
              map_one' :=
                (_ :
                  { val := fun j => ((forget SemiRingCatMax).mapCone s).π.app j 1,
                      property :=
                        (_ :
                          ∀ {j j' : J} (f : j ⟶ j'),
                            (((forget SemiRingCatMax).mapCone s).π.app j ≫ (F ⋙ forget SemiRingCatMax).map f) 1 =
                              ((forget SemiRingCatMax).mapCone s).π.app j' 1) } =
                    1) }
            y)
      j

Next tactic:
exact (s.π.app j).map_mul x y