File: Mathlib/CategoryTheory/Monoidal/Discrete.lean

full_name: CategoryTheory.Discrete.monoidal_tensorObj_as
code: @[to_additive (attr := simps tensorObj_as leftUnitor rightUnitor associator) Discrete.addMonoidal]
instance Discrete.monoidal : MonoidalCategory (Discrete M) 
goal: (X ⊗ Y).as = X.as * Y.as

full_name: CategoryTheory.Discrete.addMonoidal_associator
code: @[to_additive (attr := simps tensorObj_as leftUnitor rightUnitor associator) Discrete.addMonoidal]
instance Discrete.monoidal : MonoidalCategory (Discrete M) 
goal: α_ X Y Z = CategoryTheory.Discrete.eqToIso ⋯

full_name: CategoryTheory.Discrete.addMonoidal_leftUnitor
code: @[to_additive (attr := simps tensorObj_as leftUnitor rightUnitor associator) Discrete.addMonoidal]
instance Discrete.monoidal : MonoidalCategory (Discrete M) 
goal: λ_ X = CategoryTheory.Discrete.eqToIso ⋯

full_name: CategoryTheory.Discrete.monoidal_leftUnitor
code: @[to_additive (attr := simps tensorObj_as leftUnitor rightUnitor associator) Discrete.addMonoidal]
instance Discrete.monoidal : MonoidalCategory (Discrete M) 
goal: λ_ X = CategoryTheory.Discrete.eqToIso ⋯

full_name: CategoryTheory.Discrete.addMonoidal_tensorObj_as
code: @[to_additive (attr := simps tensorObj_as leftUnitor rightUnitor associator) Discrete.addMonoidal]
instance Discrete.monoidal : MonoidalCategory (Discrete M) 
goal: (X ⊗ Y).as = X.as + Y.as

full_name: CategoryTheory.Discrete.monoidal
code: @[to_additive (attr := simps tensorObj_as leftUnitor rightUnitor associator) Discrete.addMonoidal]
instance Discrete.monoidal : MonoidalCategory (Discrete M) 
goal: CategoryTheory.MonoidalCategory (CategoryTheory.Discrete M)

full_name: CategoryTheory.Discrete.addMonoidal
code: @[to_additive (attr := simps tensorObj_as leftUnitor rightUnitor associator) Discrete.addMonoidal]
instance Discrete.monoidal : MonoidalCategory (Discrete M) 
goal: CategoryTheory.MonoidalCategory (CategoryTheory.Discrete M)

full_name: CategoryTheory.Discrete.monoidal_associator
code: @[to_additive (attr := simps tensorObj_as leftUnitor rightUnitor associator) Discrete.addMonoidal]
instance Discrete.monoidal : MonoidalCategory (Discrete M) 
goal: α_ X Y Z = CategoryTheory.Discrete.eqToIso ⋯

full_name: CategoryTheory.Discrete.monoidal_rightUnitor
code: @[to_additive (attr := simps tensorObj_as leftUnitor rightUnitor associator) Discrete.addMonoidal]
instance Discrete.monoidal : MonoidalCategory (Discrete M) 
goal: ρ_ X = CategoryTheory.Discrete.eqToIso ⋯

full_name: CategoryTheory.Discrete.addMonoidal_rightUnitor
code: @[to_additive (attr := simps tensorObj_as leftUnitor rightUnitor associator) Discrete.addMonoidal]
instance Discrete.monoidal : MonoidalCategory (Discrete M) 
goal: ρ_ X = CategoryTheory.Discrete.eqToIso ⋯

full_name: CategoryTheory.Discrete.monoidal_tensorUnit_as
code: @[to_additive (attr := simp) Discrete.addMonoidal_tensorUnit_as]
lemma Discrete.monoidal_tensorUnit_as : (𝟙_ (Discrete M)).as = 1 
goal: (𝟙_ (CategoryTheory.Discrete M)).as = 1

full_name: CategoryTheory.Discrete.addMonoidal_tensorUnit_as
code: @[to_additive (attr := simp) Discrete.addMonoidal_tensorUnit_as]
lemma Discrete.monoidal_tensorUnit_as : (𝟙_ (Discrete M)).as = 1 
goal: (𝟙_ (CategoryTheory.Discrete M)).as = 0

full_name: CategoryTheory.Discrete.addMonoidalFunctor_toLaxMonoidalFunctor_μ
code: /-- A multiplicative morphism between monoids gives a monoidal functor between the corresponding
discrete monoidal categories.
-/
@[to_additive (attr := simps) Discrete.addMonoidalFunctor]
def Discrete.monoidalFunctor (F : M →* N) : MonoidalFunctor (Discrete M) (Discrete N) 
goal: (CategoryTheory.Discrete.addMonoidalFunctor F).μ X Y = CategoryTheory.Discrete.eqToHom ⋯

full_name: CategoryTheory.Discrete.addMonoidalFunctor_toLaxMonoidalFunctor_toFunctor_map
code: /-- A multiplicative morphism between monoids gives a monoidal functor between the corresponding
discrete monoidal categories.
-/
@[to_additive (attr := simps) Discrete.addMonoidalFunctor]
def Discrete.monoidalFunctor (F : M →* N) : MonoidalFunctor (Discrete M) (Discrete N) 
goal: ∀ {X Y : CategoryTheory.Discrete M} (f : X ⟶ Y),
  (CategoryTheory.Discrete.addMonoidalFunctor F).map f = CategoryTheory.Discrete.eqToHom ⋯

full_name: CategoryTheory.Discrete.monoidalFunctor_toLaxMonoidalFunctor_μ
code: /-- A multiplicative morphism between monoids gives a monoidal functor between the corresponding
discrete monoidal categories.
-/
@[to_additive (attr := simps) Discrete.addMonoidalFunctor]
def Discrete.monoidalFunctor (F : M →* N) : MonoidalFunctor (Discrete M) (Discrete N) 
goal: (CategoryTheory.Discrete.monoidalFunctor F).μ X Y = CategoryTheory.Discrete.eqToHom ⋯

full_name: CategoryTheory.Discrete.addMonoidalFunctor
code: /-- A multiplicative morphism between monoids gives a monoidal functor between the corresponding
discrete monoidal categories.
-/
@[to_additive (attr := simps) Discrete.addMonoidalFunctor]
def Discrete.monoidalFunctor (F : M →* N) : MonoidalFunctor (Discrete M) (Discrete N) 
goal: CategoryTheory.MonoidalFunctor (CategoryTheory.Discrete M) (CategoryTheory.Discrete N)

full_name: CategoryTheory.Discrete.addMonoidalFunctor_toLaxMonoidalFunctor_toFunctor_obj_as
code: /-- A multiplicative morphism between monoids gives a monoidal functor between the corresponding
discrete monoidal categories.
-/
@[to_additive (attr := simps) Discrete.addMonoidalFunctor]
def Discrete.monoidalFunctor (F : M →* N) : MonoidalFunctor (Discrete M) (Discrete N) 
goal: ((CategoryTheory.Discrete.addMonoidalFunctor F).obj X).as = F X.as

full_name: CategoryTheory.Discrete.monoidalFunctor
code: /-- A multiplicative morphism between monoids gives a monoidal functor between the corresponding
discrete monoidal categories.
-/
@[to_additive (attr := simps) Discrete.addMonoidalFunctor]
def Discrete.monoidalFunctor (F : M →* N) : MonoidalFunctor (Discrete M) (Discrete N) 
goal: CategoryTheory.MonoidalFunctor (CategoryTheory.Discrete M) (CategoryTheory.Discrete N)

full_name: CategoryTheory.Discrete.addMonoidalFunctor_toLaxMonoidalFunctor_ε
code: /-- A multiplicative morphism between monoids gives a monoidal functor between the corresponding
discrete monoidal categories.
-/
@[to_additive (attr := simps) Discrete.addMonoidalFunctor]
def Discrete.monoidalFunctor (F : M →* N) : MonoidalFunctor (Discrete M) (Discrete N) 
goal: (CategoryTheory.Discrete.addMonoidalFunctor F).ε = CategoryTheory.Discrete.eqToHom ⋯

full_name: CategoryTheory.Discrete.monoidalFunctor_toLaxMonoidalFunctor_toFunctor_obj_as
code: /-- A multiplicative morphism between monoids gives a monoidal functor between the corresponding
discrete monoidal categories.
-/
@[to_additive (attr := simps) Discrete.addMonoidalFunctor]
def Discrete.monoidalFunctor (F : M →* N) : MonoidalFunctor (Discrete M) (Discrete N) 
goal: ((CategoryTheory.Discrete.monoidalFunctor F).obj X).as = F X.as

full_name: CategoryTheory.Discrete.monoidalFunctor_toLaxMonoidalFunctor_toFunctor_map
code: /-- A multiplicative morphism between monoids gives a monoidal functor between the corresponding
discrete monoidal categories.
-/
@[to_additive (attr := simps) Discrete.addMonoidalFunctor]
def Discrete.monoidalFunctor (F : M →* N) : MonoidalFunctor (Discrete M) (Discrete N) 
goal: ∀ {X Y : CategoryTheory.Discrete M} (f : X ⟶ Y),
  (CategoryTheory.Discrete.monoidalFunctor F).map f = CategoryTheory.Discrete.eqToHom ⋯

full_name: CategoryTheory.Discrete.monoidalFunctor_toLaxMonoidalFunctor_ε
code: /-- A multiplicative morphism between monoids gives a monoidal functor between the corresponding
discrete monoidal categories.
-/
@[to_additive (attr := simps) Discrete.addMonoidalFunctor]
def Discrete.monoidalFunctor (F : M →* N) : MonoidalFunctor (Discrete M) (Discrete N) 
goal: (CategoryTheory.Discrete.monoidalFunctor F).ε = CategoryTheory.Discrete.eqToHom ⋯

full_name: CategoryTheory.Discrete.monoidalFunctorComp
code: /-- The monoidal natural isomorphism corresponding to composing two multiplicative morphisms.
-/
@[to_additive Discrete.addMonoidalFunctorComp
      "The monoidal natural isomorphism corresponding to\ncomposing two additive morphisms."]
def Discrete.monoidalFunctorComp (F : M →* N) (G : N →* K) :
    Discrete.monoidalFunctor F ⊗⋙
      Discrete.monoidalFunctor G ≅ Discrete.monoidalFunctor (G.comp F) 
goal: CategoryTheory.Discrete.monoidalFunctor F ⊗⋙ CategoryTheory.Discrete.monoidalFunctor G ≅
  CategoryTheory.Discrete.monoidalFunctor (G.comp F)

full_name: CategoryTheory.Discrete.addMonoidalFunctorComp
code: /-- The monoidal natural isomorphism corresponding to composing two multiplicative morphisms.
-/
@[to_additive Discrete.addMonoidalFunctorComp
      "The monoidal natural isomorphism corresponding to\ncomposing two additive morphisms."]
def Discrete.monoidalFunctorComp (F : M →* N) (G : N →* K) :
    Discrete.monoidalFunctor F ⊗⋙
      Discrete.monoidalFunctor G ≅ Discrete.monoidalFunctor (G.comp F) 
goal: CategoryTheory.Discrete.addMonoidalFunctor F ⊗⋙ CategoryTheory.Discrete.addMonoidalFunctor G ≅
  CategoryTheory.Discrete.addMonoidalFunctor (G.comp F)