Category instance for algebras over a commutative ring #
We introduce the bundled category AlgebraCat
of algebras over a fixed commutative ring R
along
with the forgetful functors to RingCat
and ModuleCat
. We furthermore show that the functor
associating to a type the free R
-algebra on that type is left adjoint to the forgetful functor.
An alias for AlgebraCat.{max u₁ u₂}
, to deal around unification issues.
Since the universe the ring lives in can be inferred, we put that last.
Equations
- AlgebraCatMax R = AlgebraCat R
Instances For
Equations
- AlgebraCat.instCoeSortType R = { coe := AlgebraCat.carrier }
Equations
Equations
- AlgebraCat.instFunLikeHomCarrier R = AlgHom.funLike
Equations
- ⋯ = ⋯
Equations
- One or more equations did not get rendered due to their size.
Equations
- AlgebraCat.instRingObjForget R = inferInstance
Equations
- AlgebraCat.instAlgebraObjForget R = inferInstance
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
The object in the category of R-algebras associated to a type equipped with the appropriate typeclasses.
Equations
- AlgebraCat.of R X = AlgebraCat.mk X
Instances For
Typecheck a AlgHom
as a morphism in AlgebraCat R
.
Equations
- AlgebraCat.ofHom f = f
Instances For
Equations
- AlgebraCat.instInhabited R = { default := AlgebraCat.of R R }
Forgetting to the underlying type and then building the bundled object returns the original algebra.
Equations
- M.ofSelfIso = { hom := CategoryTheory.CategoryStruct.id M, inv := CategoryTheory.CategoryStruct.id M, hom_inv_id := ⋯, inv_hom_id := ⋯ }
Instances For
The "free algebra" functor, sending a type S
to the free algebra on S
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The free/forget adjunction for R
-algebras.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- ⋯ = ⋯
Build an isomorphism in the category AlgebraCat R
from a AlgEquiv
between Algebra
s.
Equations
- e.toAlgebraIso = { hom := ↑e, inv := ↑e.symm, hom_inv_id := ⋯, inv_hom_id := ⋯ }
Instances For
Build a AlgEquiv
from an isomorphism in the category AlgebraCat R
.
Equations
- i.toAlgEquiv = let __src := i.hom; { toFun := ⇑i.hom, invFun := ⇑i.inv, left_inv := ⋯, right_inv := ⋯, map_mul' := ⋯, map_add' := ⋯, commutes' := ⋯ }
Instances For
Algebra equivalences between Algebra
s are the same as (isomorphic to) isomorphisms in
AlgebraCat
.
Equations
- algEquivIsoAlgebraIso = { hom := fun (e : X ≃ₐ[R] Y) => e.toAlgebraIso, inv := fun (i : AlgebraCat.of R X ≅ AlgebraCat.of R Y) => i.toAlgEquiv, hom_inv_id := ⋯, inv_hom_id := ⋯ }
Instances For
Equations
- ⋯ = ⋯
@[simp]
lemmas for AlgHom.comp
and categorical identities.