Category instances for group, add_group, comm_group, and add_comm_group.
We introduce the bundled categories:
GroupAddGroupCommGroupAddCommGroupalong 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 groups.
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_groups.
Build an isomorphism in the category CommGroup from a mul_equiv between comm_groups.
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_groups.
Build an add_equiv from an isomorphism
in the category AddCommGroup.
additive equivalences between add_groups are the same
as (isomorphic to) isomorphisms in AddGroup
multiplicative equivalences between groups 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_groups are
the same as (isomorphic to) isomorphisms in AddCommGroup
multiplicative equivalences between comm_groups 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' := _}}