Actions as functors and as categories #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
From a multiplicative action M ↻ X, we can construct a functor from M to the category of
types, mapping the single object of M to X and an element m : M
to map X → X
given by
multiplication by m
.
This functor induces a category structure on X -- a special case of the category of elements.
A morphism x ⟶ y
in this category is simply a scalar m : M
such that m • x = y
. In the case
where M is a group, this category is a groupoid -- the `action groupoid'.
A multiplicative action M ↻ X viewed as a functor mapping the single object of M to X
and an element m : M
to the map X → X
given by multiplication by m
.
Equations
- category_theory.action_as_functor M X = {obj := λ (_x : category_theory.single_obj M), X, map := λ (_x _x_1 : category_theory.single_obj M), has_smul.smul, map_id' := _, map_comp' := _}
A multiplicative action M ↻ X induces a category strucure on X, where a morphism from x to y is a scalar taking x to y. Due to implementation details, the object type of this category is not equal to X, but is in bijection with X.
Equations
Instances for category_theory.action_category
- category_theory.action_category.category
- category_theory.action_category.has_coe_t
- category_theory.action_category.inhabited
- category_theory.action_category.nonempty
- category_theory.action_category.category_theory.is_connected
- category_theory.action_category.category_theory.groupoid
- is_free_groupoid.action_groupoid_is_free
The projection from the action category to the monoid, mapping a morphism to its label.
The canonical map action_category M X → X
. It is given by λ x, x.snd
, but
has a more explicit type.
Equations
- category_theory.action_category.back = λ (x : category_theory.action_category M X), x.snd
Equations
- category_theory.action_category.has_coe_t = {coe := λ (x : X), ⟨unit.star(), x⟩}
An object of the action category given by M ↻ X corresponds to an element of X.
Equations
- category_theory.action_category.obj_equiv M X = {to_fun := coe coe_to_lift, inv_fun := λ (x : category_theory.action_category M X), x.back, left_inv := _, right_inv := _}
Equations
- category_theory.action_category.inhabited M X = {default := ↑((λ (this : X), this) inhabited.default)}
The stabilizer of a point is isomorphic to the endomorphism monoid at the corresponding point. In fact they are definitionally equivalent.
Any subgroup of G
is a vertex group in its action groupoid.
A target vertex t
and a scalar g
determine a morphism in the action groupoid.
Equations
Any morphism in the action groupoid is given by some pair.
Equations
- category_theory.action_category.cases hyp f = cast _ (hyp b.back f.val)
Given G
acting on X
, a functor from the corresponding action groupoid to a group H
can be curried to a group homomorphism G →* (X → H) ⋊ G
.
Equations
- category_theory.action_category.curry F = have F_map_eq : ∀ {a b : category_theory.action_category G X} {f : a ⟶ b}, F.map f = F.map (category_theory.action_category.hom_of_pair b.back f.val), from _, {to_fun := λ (g : G), ⟨λ (b : X), F.map (category_theory.action_category.hom_of_pair b g), g⟩, map_one' := _, map_mul' := _}
Given G
acting on X
, a group homomorphism φ : G →* (X → H) ⋊ G
can be uncurried to
a functor from the action groupoid to H
, provided that φ g = (_, g)
for all g
.
Equations
- category_theory.action_category.uncurry F sane = {obj := λ (_x : category_theory.action_category G X), unit.star(), map := λ (a b : category_theory.action_category G X) (f : a ⟶ b), (⇑F f.val).left b.back, map_id' := _, map_comp' := _}