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.instCoeSortAlgebraCatType R = { coe := AlgebraCat.carrier }
Equations
Equations
Equations
- ⋯ = ⋯
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.
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.
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.instInhabitedAlgebraCat R = { default := AlgebraCat.of R R }
Forgetting to the underlying type and then building the bundled object returns the original algebra.
Equations
- AlgebraCat.ofSelfIso M = { 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
Build an isomorphism in the category AlgebraCat R
from a AlgEquiv
between Algebra
s.
Equations
- AlgEquiv.toAlgebraIso e = { hom := ↑e, inv := ↑(AlgEquiv.symm e), hom_inv_id := ⋯, inv_hom_id := ⋯ }
Instances For
Build a AlgEquiv
from an isomorphism in the category AlgebraCat R
.
Equations
- CategoryTheory.Iso.toAlgEquiv i = { toEquiv := { 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
- One or more equations did not get rendered due to their size.
Instances For
Equations
- instCoeOutSubalgebraToCommSemiringToSemiringAlgebraCat X = { coe := fun (N : Subalgebra R X) => AlgebraCat.of R ↥N }
Equations
- ⋯ = ⋯