Documentation

Mathlib.CategoryTheory.ObjectProperty.FiniteProducts

Properties of objects that are stable under finite products #

We introduce typeclasses IsClosedUnderBinaryProducts and IsClosedUnderFiniteProducts expressing that P : ObjectProperty C is closed under binary products or finite products. We introduce a constructor for P.IsClosedUnderFiniteProducts assuming P.IsClosedUnderBinaryProducts, P.IsClosedUnderLimitsOfShape (Discrete.{0} PEmpty) and that C has finite products.

@[reducible, inline]

The typeclass saying that P : ObjectProperty C is stable under binary products.

Equations
Instances For
    @[reducible, inline]

    All objects that are binary products of objects in P.

    Equations
    Instances For

      The typeclass saying that P : ObjectProperty C is stable under finite products.

      Instances
        theorem CategoryTheory.ObjectProperty.prop_of_isLimit_fan {C : Type u_1} [Category.{v_1, u_1} C] (P : ObjectProperty C) [P.IsClosedUnderFiniteProducts] {J : Type u_2} [Finite J] {f : JC} {F : Limits.Fan f} (hF : Limits.IsLimit F) (h : ∀ (j : J), P (f j)) :
        P F.pt
        theorem CategoryTheory.ObjectProperty.prop_product {C : Type u_1} [Category.{v_1, u_1} C] (P : ObjectProperty C) [P.IsClosedUnderFiniteProducts] {J : Type u_2} [Finite J] {f : JC} [Limits.HasProduct f] (h : ∀ (j : J), P (f j)) :
        P (∏ᶜ f)
        @[reducible, inline]

        The typeclass saying that P : ObjectProperty C is stable under binary coproducts.

        Equations
        Instances For
          @[reducible, inline]

          All objects that are binary coproducts of objects in P.

          Equations
          Instances For

            The typeclass saying that P : ObjectProperty C is stable under finite coproducts.

            Instances
              theorem CategoryTheory.ObjectProperty.prop_of_isColimit_cofan {C : Type u_1} [Category.{v_1, u_1} C] (P : ObjectProperty C) [P.IsClosedUnderFiniteCoproducts] {J : Type u_2} [Finite J] {f : JC} {F : Limits.Cofan f} (hF : Limits.IsColimit F) (h : ∀ (j : J), P (f j)) :
              P F.pt
              theorem CategoryTheory.ObjectProperty.prop_coproduct {C : Type u_1} [Category.{v_1, u_1} C] (P : ObjectProperty C) [P.IsClosedUnderFiniteCoproducts] {J : Type u_2} [Finite J] {f : JC} [Limits.HasCoproduct f] (h : ∀ (j : J), P (f j)) :
              P ( f)