File: Mathlib/CategoryTheory/Monoidal/Bimon_.lean

full_name: Bimon_
code: /--
A bimonoid object in a braided category `C` is a comonoid object in the (monoidal)
category of monoid objects in `C`.
-/
def Bimon_ 
goal: Type (max (max u₁ v₁) v₁)

full_name: Bimon_.instCategory
code: instance : Category (Bimon_ C) 
goal: CategoryTheory.Category.{v₁, max u₁ v₁} (Bimon_ C)

full_name: Bimon_.ext
code: @[ext] lemma ext {X Y : Bimon_ C} {f g : X ⟶ Y} (w : f.hom.hom = g.hom.hom) : f = g 
goal: f = g

full_name: Bimon_.id_hom'
code: @[simp] theorem id_hom' (M : Bimon_ C) : Comon_.Hom.hom (𝟙 M) = 𝟙 M.X 
goal: (𝟙 M).hom = 𝟙 M.X

full_name: Bimon_.comp_hom'
code: @[simp]
theorem comp_hom' {M N K : Bimon_ C} (f : M ⟶ N) (g : N ⟶ K) : (f ≫ g).hom = f.hom ≫ g.hom 
goal: (f ≫ g).hom = f.hom ≫ g.hom

full_name: Bimon_.toMon_
code: /-- The forgetful functor from bimonoid objects to monoid objects. -/
abbrev toMon_ : Bimon_ C ⥤ Mon_ C 
goal: Bimon_ C ⥤ Mon_ C

full_name: Bimon_.forget
code: /-- The forgetful functor from bimonoid objects to the underlying category. -/
def forget : Bimon_ C ⥤ C 
goal: Bimon_ C ⥤ C

full_name: Bimon_.toMon_forget
code: @[simp]
theorem toMon_forget : toMon_ C ⋙ Mon_.forget C = forget C 
goal: Bimon_.toMon_ C ⋙ Mon_.forget C = Bimon_.forget C

full_name: Bimon_.toComon__map_hom
code: /-- The forgetful functor from bimonoid objects to comonoid objects. -/
@[simps!]
def toComon_ : Bimon_ C ⥤ Comon_ C 
goal: ∀ {X Y : Comon_ (Mon_ C)} (f : X ⟶ Y), ((Bimon_.toComon_ C).map f).hom = f.hom.hom

full_name: Bimon_.toComon_
code: /-- The forgetful functor from bimonoid objects to comonoid objects. -/
@[simps!]
def toComon_ : Bimon_ C ⥤ Comon_ C 
goal: Bimon_ C ⥤ Comon_ C

full_name: Bimon_.toComon__obj_counit
code: /-- The forgetful functor from bimonoid objects to comonoid objects. -/
@[simps!]
def toComon_ : Bimon_ C ⥤ Comon_ C 
goal: ((Bimon_.toComon_ C).obj A).counit = A.counit.hom

full_name: Bimon_.toComon__obj_comul
code: /-- The forgetful functor from bimonoid objects to comonoid objects. -/
@[simps!]
def toComon_ : Bimon_ C ⥤ Comon_ C 
goal: ((Bimon_.toComon_ C).obj A).comul = A.comul.hom

full_name: Bimon_.toComon__obj_X
code: /-- The forgetful functor from bimonoid objects to comonoid objects. -/
@[simps!]
def toComon_ : Bimon_ C ⥤ Comon_ C 
goal: ((Bimon_.toComon_ C).obj A).X = A.X.X

full_name: Bimon_.toComon_forget
code: @[simp]
theorem toComon_forget : toComon_ C ⋙ Comon_.forget C = forget C 
goal: Bimon_.toComon_ C ⋙ Comon_.forget C = Bimon_.forget C

full_name: Bimon_.toMon_Comon_obj
code: /-- The object level part of the forward direction of `Comon_ (Mon_ C) ≌ Mon_ (Comon_ C)` -/
def toMon_Comon_obj (M : Bimon_ C) : Mon_ (Comon_ C) 
goal: Mon_ (Comon_ C)

full_name: Bimon_.toMon_Comon__map_hom
code: /-- The forward direction of `Comon_ (Mon_ C) ≌ Mon_ (Comon_ C)` -/
@[simps]
def toMon_Comon_ : Bimon_ C ⥤ Mon_ (Comon_ C) 
goal: ∀ {X Y : Bimon_ C} (f : X ⟶ Y), ((Bimon_.toMon_Comon_ C).map f).hom = (Bimon_.toComon_ C).map f

full_name: Bimon_.toMon_Comon__obj
code: /-- The forward direction of `Comon_ (Mon_ C) ≌ Mon_ (Comon_ C)` -/
@[simps]
def toMon_Comon_ : Bimon_ C ⥤ Mon_ (Comon_ C) 
goal: (Bimon_.toMon_Comon_ C).obj M = Bimon_.toMon_Comon_obj C M

full_name: Bimon_.toMon_Comon_
code: /-- The forward direction of `Comon_ (Mon_ C) ≌ Mon_ (Comon_ C)` -/
@[simps]
def toMon_Comon_ : Bimon_ C ⥤ Mon_ (Comon_ C) 
goal: Bimon_ C ⥤ Mon_ (Comon_ C)

full_name: Bimon_.ofMon_Comon_obj_comul_hom
code: /-- The object level part of the backward direction of `Comon_ (Mon_ C) ≌ Mon_ (Comon_ C)` -/
@[simps]
def ofMon_Comon_obj (M : Mon_ (Comon_ C)) : Bimon_ C 
goal: (Bimon_.ofMon_Comon_obj C M).comul.hom = M.X.comul

full_name: Bimon_.ofMon_Comon_obj
code: /-- The object level part of the backward direction of `Comon_ (Mon_ C) ≌ Mon_ (Comon_ C)` -/
@[simps]
def ofMon_Comon_obj (M : Mon_ (Comon_ C)) : Bimon_ C 
goal: Bimon_ C

full_name: Bimon_.ofMon_Comon_obj_X
code: /-- The object level part of the backward direction of `Comon_ (Mon_ C) ≌ Mon_ (Comon_ C)` -/
@[simps]
def ofMon_Comon_obj (M : Mon_ (Comon_ C)) : Bimon_ C 
goal: (Bimon_.ofMon_Comon_obj C M).X = (Comon_.forgetMonoidal C).mapMon.obj M

full_name: Bimon_.ofMon_Comon_obj_counit_hom
code: /-- The object level part of the backward direction of `Comon_ (Mon_ C) ≌ Mon_ (Comon_ C)` -/
@[simps]
def ofMon_Comon_obj (M : Mon_ (Comon_ C)) : Bimon_ C 
goal: (Bimon_.ofMon_Comon_obj C M).counit.hom = M.X.counit

full_name: Bimon_.ofMon_Comon__map_hom
code: /-- The backward direction of `Comon_ (Mon_ C) ≌ Mon_ (Comon_ C)` -/
@[simps]
def ofMon_Comon_ : Mon_ (Comon_ C) ⥤ Bimon_ C 
goal: ∀ {X Y : Mon_ (Comon_ C)} (f : X ⟶ Y), ((Bimon_.ofMon_Comon_ C).map f).hom = (Comon_.forgetMonoidal C).mapMon.map f

full_name: Bimon_.ofMon_Comon_
code: /-- The backward direction of `Comon_ (Mon_ C) ≌ Mon_ (Comon_ C)` -/
@[simps]
def ofMon_Comon_ : Mon_ (Comon_ C) ⥤ Bimon_ C 
goal: Mon_ (Comon_ C) ⥤ Bimon_ C

full_name: Bimon_.ofMon_Comon__obj
code: /-- The backward direction of `Comon_ (Mon_ C) ≌ Mon_ (Comon_ C)` -/
@[simps]
def ofMon_Comon_ : Mon_ (Comon_ C) ⥤ Bimon_ C 
goal: (Bimon_.ofMon_Comon_ C).obj M = Bimon_.ofMon_Comon_obj C M

full_name: Bimon_.equivMon_Comon_
code: /-- The equivalence `Comon_ (Mon_ C) ≌ Mon_ (Comon_ C)` -/
def equivMon_Comon_ : Bimon_ C ≌ Mon_ (Comon_ C) 
goal: Bimon_ C ≌ Mon_ (Comon_ C)