Category instances for group, add_group, comm_group, and add_comm_group.
We introduce the bundled categories:
Group
AddGroup
CommGroup
AddCommGroup
along with the relevant forgetful functors between them, and to the bundled monoid categories.
Construct a bundled AddGroup
from the underlying type and typeclass.
Equations
Equations
- Group.inhabited = {default := 1}
Equations
- Group.unique = {to_inhabited := {default := 1}, uniq := Group.unique._proof_1}
The category of additive commutative groups and group morphisms.
The category of commutative groups and group morphisms.
Equations
Ab
is an abbreviation for AddCommGroup
, for the sake of mathematicians' sanity.
Construct a bundled CommGroup
from the underlying type and typeclass.
Equations
Construct a bundled AddCommGroup
from the underlying type and typeclass.
Equations
- G.comm_group_instance = G.str
Equations
Equations
- CommGroup.inhabited = {default := 1}
Equations
- CommGroup.unique = {to_inhabited := {default := 1}, uniq := CommGroup.unique._proof_1}
Equations
Any element of an abelian group gives a unique morphism from ℤ
sending
1
to that element.
Equations
- AddCommGroup.as_hom g = ⇑(gmultiples_hom ↥G) g
Build an isomorphism in the category Group
from a mul_equiv
between group
s.
Equations
- e.to_Group_iso = {hom := e.to_monoid_hom, inv := e.symm.to_monoid_hom, hom_inv_id' := _, inv_hom_id' := _}
Build an isomorphism in the category AddGroup
from an add_equiv
between add_group
s.
Build an isomorphism in the category CommGroup
from a mul_equiv
between comm_group
s.
Equations
- e.to_CommGroup_iso = {hom := e.to_monoid_hom, inv := e.symm.to_monoid_hom, hom_inv_id' := _, inv_hom_id' := _}
Build an isomorphism in the category AddCommGroup
from a add_equiv
between
add_comm_group
s.
Build an add_equiv
from an isomorphism
in the category AddCommGroup
.
additive equivalences between add_group
s are the same
as (isomorphic to) isomorphisms in AddGroup
multiplicative equivalences between group
s are the same as (isomorphic to) isomorphisms
in Group
Equations
- mul_equiv_iso_Group_iso = {hom := λ (e : X ≃* Y), e.to_Group_iso, inv := λ (i : Group.of X ≅ Group.of Y), i.Group_iso_to_mul_equiv, hom_inv_id' := _, inv_hom_id' := _}
additive equivalences between add_comm_group
s are
the same as (isomorphic to) isomorphisms in AddCommGroup
multiplicative equivalences between comm_group
s are the same as (isomorphic to) isomorphisms
in CommGroup
Equations
- mul_equiv_iso_CommGroup_iso = {hom := λ (e : X ≃* Y), e.to_CommGroup_iso, inv := λ (i : CommGroup.of X ≅ CommGroup.of Y), i.CommGroup_iso_to_mul_equiv, hom_inv_id' := _, inv_hom_id' := _}
The (bundled) group of automorphisms of a type is isomorphic to the (bundled) group of permutations.
Equations
- category_theory.Aut.iso_perm = {hom := {to_fun := λ (g : ↥(Group.of (category_theory.Aut α))), category_theory.iso.to_equiv g, map_one' := _, map_mul' := _}, inv := {to_fun := λ (g : ↥(Group.of (equiv.perm α))), equiv.to_iso g, map_one' := _, map_mul' := _}, hom_inv_id' := _, inv_hom_id' := _}
The (unbundled) group of automorphisms of a type is mul_equiv
to the (unbundled) group
of permutations.
Equations
- Group.forget_reflects_isos = {reflects := λ (X Y : Group) (f : X ⟶ Y) (_x : category_theory.is_iso ((category_theory.forget Group).map f)), let i : (category_theory.forget Group).obj X ≅ (category_theory.forget Group).obj Y := category_theory.as_iso ((category_theory.forget Group).map f), e : ↥X ≃* ↥Y := {to_fun := f.to_fun, inv_fun := i.to_equiv.inv_fun, left_inv := _, right_inv := _, map_mul' := _} in {inv := e.to_Group_iso.inv, hom_inv_id' := _, inv_hom_id' := _}}
Equations
- CommGroup.forget_reflects_isos = {reflects := λ (X Y : CommGroup) (f : X ⟶ Y) (_x : category_theory.is_iso ((category_theory.forget CommGroup).map f)), let i : (category_theory.forget CommGroup).obj X ≅ (category_theory.forget CommGroup).obj Y := category_theory.as_iso ((category_theory.forget CommGroup).map f), e : ↥X ≃* ↥Y := {to_fun := f.to_fun, inv_fun := i.to_equiv.inv_fun, left_inv := _, right_inv := _, map_mul' := _} in {inv := e.to_CommGroup_iso.inv, hom_inv_id' := _, inv_hom_id' := _}}