Category instances for Group, AddGroup, CommGroup, and AddCommGroup. #
We introduce the bundled categories:
GroupCat
AddGroupCat
CommGroupCat
AddCommGroupCat
along with the relevant forgetful functors between them, and to the bundled monoid categories.
The category of additive groups and group morphisms
Equations
Instances For
Equations
- One or more equations did not get rendered due to their size.
Equations
- AddGroupCat.concreteCategory = id inferInstance
Equations
- GroupCat.concreteCategory = id inferInstance
Equations
- AddGroupCat.instCoeSortAddGroupCatType = { coe := fun (X : AddGroupCat) => ↑X }
Equations
- GroupCat.instCoeSortGroupCatType = { coe := fun (X : GroupCat) => ↑X }
Equations
- AddGroupCat.instGroupα X = X.str
Equations
- AddGroupCat.instFunLike X Y = let_fun this := inferInstance; this
Equations
- GroupCat.instFunLike X Y = let_fun this := inferInstance; this
Equations
- AddGroupCat.instInhabitedAddGroupCat = { default := AddGroupCat.of PUnit.{u_1 + 1} }
Equations
- GroupCat.instInhabitedGroupCat = { default := GroupCat.of PUnit.{u_1 + 1} }
Equations
- AddGroupCat.hasForgetToAddMonCat = CategoryTheory.BundledHom.forget₂ AddMonCat.AssocAddMonoidHom fun {α : Type u_1} (h : AddGroup α) => SubNegMonoid.toAddMonoid
Equations
- GroupCat.hasForgetToMonCat = CategoryTheory.BundledHom.forget₂ MonCat.AssocMonoidHom fun {α : Type u_1} (h : Group α) => DivInvMonoid.toMonoid
Equations
- AddGroupCat.instCoeAddGroupCatMonCat = { coe := (CategoryTheory.forget₂ AddGroupCat AddMonCat).obj }
Equations
- GroupCat.instCoeGroupCatMonCat = { coe := (CategoryTheory.forget₂ GroupCat MonCat).obj }
Equations
Equations
Typecheck an AddMonoidHom
as a morphism in AddGroup
.
Equations
- AddGroupCat.ofHom f = f
Instances For
Typecheck a MonoidHom
as a morphism in GroupCat
.
Equations
- GroupCat.ofHom f = f
Instances For
Equations
Equations
- GroupCat.ofUnique G = i
The category of additive commutative groups and group morphisms.
Instances For
The category of commutative groups and group morphisms.
Equations
Instances For
Ab
is an abbreviation for AddCommGroup
, for the sake of mathematicians' sanity.
Equations
Instances For
Equations
- One or more equations did not get rendered due to their size.
Equations
- AddCommGroupCat.concreteCategory = id inferInstance
Equations
- CommGroupCat.concreteCategory = id inferInstance
Equations
- AddCommGroupCat.instCoeSortAddCommGroupCatType = { coe := fun (X : AddCommGroupCat) => ↑X }
Equations
- CommGroupCat.instCoeSortCommGroupCatType = { coe := fun (X : CommGroupCat) => ↑X }
Equations
Equations
- CommGroupCat.commGroupInstance X = X.str
Equations
- AddCommGroupCat.instFunLike X Y = let_fun this := inferInstance; this
Equations
- CommGroupCat.instFunLike X Y = let_fun this := inferInstance; this
Equations
Equations
- CommGroupCat.instInhabitedCommGroupCat = { default := CommGroupCat.of PUnit.{u_1 + 1} }
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
- CommGroupCat.instCoeCommGroupCatGroupCat = { coe := (CategoryTheory.forget₂ CommGroupCat GroupCat).obj }
Equations
Equations
Equations
Typecheck an AddMonoidHom
as a morphism in AddCommGroup
.
Equations
Instances For
Typecheck a MonoidHom
as a morphism in CommGroup
.
Equations
- CommGroupCat.ofHom f = f
Instances For
Any element of an abelian group gives a unique morphism from ℤ
sending
1
to that element.
Equations
- AddCommGroupCat.asHom g = (zmultiplesHom ↑G) g
Instances For
Build an isomorphism in the category AddGroup
from an AddEquiv
between AddGroup
s.
Equations
- AddEquiv.toAddGroupCatIso e = { hom := AddEquiv.toAddMonoidHom e, inv := AddEquiv.toAddMonoidHom (AddEquiv.symm e), hom_inv_id := ⋯, inv_hom_id := ⋯ }
Instances For
Build an isomorphism in the category GroupCat
from a MulEquiv
between Group
s.
Equations
- MulEquiv.toGroupCatIso e = { hom := MulEquiv.toMonoidHom e, inv := MulEquiv.toMonoidHom (MulEquiv.symm e), hom_inv_id := ⋯, inv_hom_id := ⋯ }
Instances For
Build an isomorphism in the category AddCommGroupCat
from an AddEquiv
between AddCommGroup
s.
Equations
- AddEquiv.toAddCommGroupCatIso e = { hom := AddEquiv.toAddMonoidHom e, inv := AddEquiv.toAddMonoidHom (AddEquiv.symm e), hom_inv_id := ⋯, inv_hom_id := ⋯ }
Instances For
Build an isomorphism in the category CommGroupCat
from a MulEquiv
between CommGroup
s.
Equations
- MulEquiv.toCommGroupCatIso e = { hom := MulEquiv.toMonoidHom e, inv := MulEquiv.toMonoidHom (MulEquiv.symm e), hom_inv_id := ⋯, inv_hom_id := ⋯ }
Instances For
Build an addEquiv
from an isomorphism in the category AddGroup
Equations
- CategoryTheory.Iso.addGroupIsoToAddEquiv i = AddMonoidHom.toAddEquiv i.hom i.inv ⋯ ⋯
Instances For
Build a MulEquiv
from an isomorphism in the category GroupCat
.
Equations
- CategoryTheory.Iso.groupIsoToMulEquiv i = MonoidHom.toMulEquiv i.hom i.inv ⋯ ⋯
Instances For
Build an AddEquiv
from an isomorphism in the category AddCommGroup
.
Equations
- CategoryTheory.Iso.addCommGroupIsoToAddEquiv i = AddMonoidHom.toAddEquiv i.hom i.inv ⋯ ⋯
Instances For
Build a MulEquiv
from an isomorphism in the category CommGroup
.
Equations
- CategoryTheory.Iso.commGroupIsoToMulEquiv i = MonoidHom.toMulEquiv i.hom i.inv ⋯ ⋯
Instances For
Additive equivalences between AddGroup
s are the same
as (isomorphic to) isomorphisms in AddGroupCat
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
multiplicative equivalences between Group
s are the same as (isomorphic to) isomorphisms
in GroupCat
Equations
- mulEquivIsoGroupIso = { hom := fun (e : ↑X ≃* ↑Y) => MulEquiv.toGroupCatIso e, inv := fun (i : X ≅ Y) => CategoryTheory.Iso.groupIsoToMulEquiv i, hom_inv_id := ⋯, inv_hom_id := ⋯ }
Instances For
Additive equivalences between AddCommGroup
s are
the same as (isomorphic to) isomorphisms in AddCommGroupCat
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Multiplicative equivalences between CommGroup
s are the same as (isomorphic to) isomorphisms
in CommGroupCat
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The (bundled) group of automorphisms of a type is isomorphic to the (bundled) group of permutations.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The (unbundled) group of automorphisms of a type is MulEquiv
to the (unbundled) group
of permutations.
Equations
- CategoryTheory.Aut.mulEquivPerm = CategoryTheory.Iso.groupIsoToMulEquiv CategoryTheory.Aut.isoPerm
Instances For
An alias for AddGroupCat.{max u v}
, to deal around unification issues.
Equations
Instances For
An alias for GroupCat.{max u v}
, to deal around unification issues.
Equations
Instances For
An alias for AddGroupCat.{max u v}
, to deal around unification issues.
Equations
Instances For
An alias for AddCommGroupCat.{max u v}
, to deal around unification issues.
Equations
Instances For
An alias for CommGroupCat.{max u v}
, to deal around unification issues.
Equations
Instances For
An alias for AddCommGroupCat.{max u v}
, to deal around unification issues.