Category instances for Group, AddGroup, CommGroup, and AddCommGroup. #
We introduce the bundled categories:
GroupCatAddGroupCatCommGroupCatAddCommGroupCatalong 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 AddGroups.
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 Groups.
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 AddCommGroups.
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 CommGroups.
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 add_groups are the same
as (isomorphic to) isomorphisms in AddGroup
Equations
- One or more equations did not get rendered due to their size.
Instances For
multiplicative equivalences between Groups 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 AddCommGroups are
the same as (isomorphic to) isomorphisms in AddCommGroup
Equations
- One or more equations did not get rendered due to their size.
Instances For
multiplicative equivalences between comm_groups are the same as (isomorphic to) isomorphisms
in CommGroup
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 mul_equiv 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.