File: Mathlib/Algebra/Category/HopfAlgebraCat/Basic.lean

full_name: HopfAlgebraCat.instHopfAlgebra
code: /-- The category of `R`-Hopf algebras. -/
structure HopfAlgebraCat extends Bundled Ring.{v} where
  [instHopfAlgebra : HopfAlgebra R α]
goal: HopfAlgebra R ↑self.toBundled

full_name: HopfAlgebraCat
code: /-- The category of `R`-Hopf algebras. -/
structure HopfAlgebraCat extends Bundled Ring.{v} where
  [instHopfAlgebra : HopfAlgebra R α]
goal: Type (max u (v + 1))

full_name: HopfAlgebraCat.instCoeSortType
code: instance : CoeSort (HopfAlgebraCat.{v} R) (Type v) 
goal: CoeSort (HopfAlgebraCat R) (Type v)

full_name: HopfAlgebraCat.of
code: /-- The object in the category of `R`-Hopf algebras associated to an `R`-Hopf algebra. -/
@[simps]
def of (X : Type v) [Ring X] [HopfAlgebra R X] :
    HopfAlgebraCat R 
goal: HopfAlgebraCat R

full_name: HopfAlgebraCat.of_str
code: /-- The object in the category of `R`-Hopf algebras associated to an `R`-Hopf algebra. -/
@[simps]
def of (X : Type v) [Ring X] [HopfAlgebra R X] :
    HopfAlgebraCat R 
goal: (HopfAlgebraCat.of R X).str = inferInstance

full_name: HopfAlgebraCat.of_instHopfAlgebra
code: /-- The object in the category of `R`-Hopf algebras associated to an `R`-Hopf algebra. -/
@[simps]
def of (X : Type v) [Ring X] [HopfAlgebra R X] :
    HopfAlgebraCat R 
goal: (HopfAlgebraCat.of R X).instHopfAlgebra = inferInstance

full_name: HopfAlgebraCat.of_α
code: /-- The object in the category of `R`-Hopf algebras associated to an `R`-Hopf algebra. -/
@[simps]
def of (X : Type v) [Ring X] [HopfAlgebra R X] :
    HopfAlgebraCat R 
goal: ↑(HopfAlgebraCat.of R X).toBundled = X

full_name: HopfAlgebraCat.of_comul
code: @[simp]
lemma of_comul {X : Type v} [Ring X] [HopfAlgebra R X] :
    Coalgebra.comul (A := of R X) = Coalgebra.comul (R := R) (A := X) 
goal: Coalgebra.comul = Coalgebra.comul

full_name: HopfAlgebraCat.of_counit
code: @[simp]
lemma of_counit {X : Type v} [Ring X] [HopfAlgebra R X] :
    Coalgebra.counit (A := of R X) = Coalgebra.counit (R := R) (A := X) 
goal: Coalgebra.counit = Coalgebra.counit

full_name: HopfAlgebraCat.Hom
code: /-- A type alias for `BialgHom` to avoid confusion between the categorical and
algebraic spellings of composition. -/
@[ext]
structure Hom (V W : HopfAlgebraCat.{v} R) :=
  /-- The underlying `BialgHom`. -/
  toBialgHom : V →ₐc[R] W
goal: Type v

full_name: HopfAlgebraCat.Hom.toBialgHom
code: /-- A type alias for `BialgHom` to avoid confusion between the categorical and
algebraic spellings of composition. -/
@[ext]
structure Hom (V W : HopfAlgebraCat.{v} R) :=
  /-- The underlying `BialgHom`. -/
  toBialgHom : V →ₐc[R] W
goal: ↑V.toBundled →ₐc[R] ↑W.toBundled

full_name: HopfAlgebraCat.Hom.toBialgHom_injective
code: lemma Hom.toBialgHom_injective (V W : HopfAlgebraCat.{v} R) :
    Function.Injective (Hom.toBialgHom : Hom V W → _) 
goal: Function.Injective HopfAlgebraCat.Hom.toBialgHom

full_name: HopfAlgebraCat.category
code: instance category : Category (HopfAlgebraCat.{v} R) 
goal: CategoryTheory.Category.{v, max (v + 1) u} (HopfAlgebraCat R)

full_name: HopfAlgebraCat.hom_ext
code: @[ext]
lemma hom_ext {X Y : HopfAlgebraCat.{v} R} (f g : X ⟶ Y) (h : f.toBialgHom = g.toBialgHom) :
    f = g 
goal: f = g

full_name: HopfAlgebraCat.ofHom
code: /-- Typecheck a `BialgHom` as a morphism in `HopfAlgebraCat R`. -/
abbrev ofHom {X Y : Type v} [Ring X] [Ring Y]
    [HopfAlgebra R X] [HopfAlgebra R Y] (f : X →ₐc[R] Y) :
    of R X ⟶ of R Y 
goal: HopfAlgebraCat.of R X ⟶ HopfAlgebraCat.of R Y

full_name: HopfAlgebraCat.toBialgHom_comp
code: @[simp] theorem toBialgHom_comp {X Y Z : HopfAlgebraCat.{v} R} (f : X ⟶ Y) (g : Y ⟶ Z) :
    (f ≫ g).toBialgHom = g.toBialgHom.comp f.toBialgHom 
goal: (f ≫ g).toBialgHom = g.toBialgHom.comp f.toBialgHom

full_name: HopfAlgebraCat.toBialgHom_id
code: @[simp] theorem toBialgHom_id {M : HopfAlgebraCat.{v} R} :
    Hom.toBialgHom (𝟙 M) = BialgHom.id _ _ 
goal: (𝟙 M).toBialgHom = BialgHom.id R ↑M.toBundled

full_name: HopfAlgebraCat.concreteCategory
code: instance concreteCategory : ConcreteCategory.{v} (HopfAlgebraCat.{v} R) 
goal: CategoryTheory.ConcreteCategory (HopfAlgebraCat R)

full_name: HopfAlgebraCat.hasForgetToBialgebra
code: instance hasForgetToBialgebra : HasForget₂ (HopfAlgebraCat R) (BialgebraCat R) 
goal: CategoryTheory.HasForget₂ (HopfAlgebraCat R) (BialgebraCat R)

full_name: HopfAlgebraCat.forget₂_bialgebra_obj
code: @[simp]
theorem forget₂_bialgebra_obj (X : HopfAlgebraCat R) :
    (forget₂ (HopfAlgebraCat R) (BialgebraCat R)).obj X = BialgebraCat.of R X 
goal: (CategoryTheory.forget₂ (HopfAlgebraCat R) (BialgebraCat R)).obj X = BialgebraCat.of R ↑X.toBundled

full_name: HopfAlgebraCat.forget₂_bialgebra_map
code: @[simp]
theorem forget₂_bialgebra_map (X Y : HopfAlgebraCat R) (f : X ⟶ Y) :
    (forget₂ (HopfAlgebraCat R) (BialgebraCat R)).map f = BialgebraCat.ofHom f.toBialgHom 
goal: (CategoryTheory.forget₂ (HopfAlgebraCat R) (BialgebraCat R)).map f = BialgebraCat.ofHom f.toBialgHom

full_name: BialgEquiv.toHopfAlgebraCatIso_hom_toBialgHom
code: /-- Build an isomorphism in the category `HopfAlgebraCat R` from a
`BialgEquiv`. -/
@[simps]
def toHopfAlgebraCatIso (e : X ≃ₐc[R] Y) : HopfAlgebraCat.of R X ≅ HopfAlgebraCat.of R Y 
goal: e.toHopfAlgebraCatIso.hom.toBialgHom = ↑e

full_name: BialgEquiv.toHopfAlgebraCatIso
code: /-- Build an isomorphism in the category `HopfAlgebraCat R` from a
`BialgEquiv`. -/
@[simps]
def toHopfAlgebraCatIso (e : X ≃ₐc[R] Y) : HopfAlgebraCat.of R X ≅ HopfAlgebraCat.of R Y 
goal: HopfAlgebraCat.of R X ≅ HopfAlgebraCat.of R Y

full_name: BialgEquiv.toHopfAlgebraCatIso_inv_toBialgHom
code: /-- Build an isomorphism in the category `HopfAlgebraCat R` from a
`BialgEquiv`. -/
@[simps]
def toHopfAlgebraCatIso (e : X ≃ₐc[R] Y) : HopfAlgebraCat.of R X ≅ HopfAlgebraCat.of R Y 
goal: e.toHopfAlgebraCatIso.inv.toBialgHom = ↑e.symm

full_name: BialgEquiv.toHopfAlgebraCatIso_refl
code: @[simp] theorem toHopfAlgebraCatIso_refl :
    toHopfAlgebraCatIso (BialgEquiv.refl R X) = .refl _ 
goal: (BialgEquiv.refl R X).toHopfAlgebraCatIso = CategoryTheory.Iso.refl (HopfAlgebraCat.of R X)

full_name: BialgEquiv.toHopfAlgebraCatIso_symm
code: @[simp] theorem toHopfAlgebraCatIso_symm (e : X ≃ₐc[R] Y) :
    toHopfAlgebraCatIso e.symm = (toHopfAlgebraCatIso e).symm 
goal: e.symm.toHopfAlgebraCatIso = e.toHopfAlgebraCatIso.symm

full_name: BialgEquiv.toHopfAlgebraCatIso_trans
code: @[simp] theorem toHopfAlgebraCatIso_trans (e : X ≃ₐc[R] Y) (f : Y ≃ₐc[R] Z) :
    toHopfAlgebraCatIso (e.trans f) = toHopfAlgebraCatIso e ≪≫ toHopfAlgebraCatIso f 
goal: (e.trans f).toHopfAlgebraCatIso = e.toHopfAlgebraCatIso ≪≫ f.toHopfAlgebraCatIso

full_name: CategoryTheory.Iso.toHopfAlgEquiv
code: /-- Build a `BialgEquiv` from an isomorphism in the category
`HopfAlgebraCat R`. -/
def toHopfAlgEquiv (i : X ≅ Y) : X ≃ₐc[R] Y 
goal: ↑X.toBundled ≃ₐc[R] ↑Y.toBundled

full_name: CategoryTheory.Iso.toHopfAlgEquiv_toBialgHom
code: @[simp] theorem toHopfAlgEquiv_toBialgHom (i : X ≅ Y) :
    (i.toHopfAlgEquiv : X →ₐc[R] Y) = i.hom.1 
goal: ↑i.toHopfAlgEquiv = i.hom.toBialgHom

full_name: CategoryTheory.Iso.toHopfAlgEquiv_refl
code: @[simp] theorem toHopfAlgEquiv_refl : toHopfAlgEquiv (.refl X) = .refl _ _ 
goal: (CategoryTheory.Iso.refl X).toHopfAlgEquiv = BialgEquiv.refl R ↑X.toBundled

full_name: CategoryTheory.Iso.toHopfAlgEquiv_symm
code: @[simp] theorem toHopfAlgEquiv_symm (e : X ≅ Y) :
    toHopfAlgEquiv e.symm = (toHopfAlgEquiv e).symm 
goal: e.symm.toHopfAlgEquiv = e.toHopfAlgEquiv.symm

full_name: CategoryTheory.Iso.toHopfAlgEquiv_trans
code: @[simp] theorem toHopfAlgEquiv_trans (e : X ≅ Y) (f : Y ≅ Z) :
    toHopfAlgEquiv (e ≪≫ f) = e.toHopfAlgEquiv.trans f.toHopfAlgEquiv 
goal: (e ≪≫ f).toHopfAlgEquiv = e.toHopfAlgEquiv.trans f.toHopfAlgEquiv

full_name: HopfAlgebraCat.forget_reflects_isos
code: instance HopfAlgebraCat.forget_reflects_isos :
    (forget (HopfAlgebraCat.{v} R)).ReflectsIsomorphisms 
goal: (CategoryTheory.forget (HopfAlgebraCat R)).ReflectsIsomorphisms