Subgroupoid #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
This file defines subgroupoids as structures containing the subsets of arrows and their
stability under composition and inversion.
Also defined are:
- containment of subgroupoids is a complete lattice;
- images and preimages of subgroupoids under a functor;
- the notion of normality of subgroupoids and its stability under intersection and preimage;
- compatibility of the above with
groupoid.vertex_group.
Main definitions #
Given a type C with associated groupoid C instance.
subgroupoid Cis the type of subgroupoids ofCsubgroupoid.is_normalis the property that the subgroupoid is stable under conjugation by arbitrary arrows, and that all identity arrows are contained in the subgroupoid.subgroupoid.comapis the "preimage" map of subgroupoids along a functor.subgroupoid.mapis the "image" map of subgroupoids along a functor injective on objects.subgroupoid.vertex_subgroupis the subgroup of thevertex groupat a given vertexv, assumingvis contained in thesubgroupoid(meaning, by definition, that the arrow𝟙 vis contained in the subgroupoid).
Implementation details #
The structure of this file is copied from/inspired by group_theory.subgroup.basic
and combinatorics.simple_graph.subgraph.
TODO #
- Equivalent inductive characterization of generated (normal) subgroupoids.
- Characterization of normal subgroupoids as kernels.
- Prove that
fullanddisconnectpreserve intersections (anddisconnectalso unions)
Tags #
subgroupoid
- arrows : Π (c d : C), set (c ⟶ d)
- inv : ∀ {c d : C} {p : c ⟶ d}, p ∈ self.arrows c d → category_theory.groupoid.inv p ∈ self.arrows d c
- mul : ∀ {c d e : C} {p : c ⟶ d}, p ∈ self.arrows c d → ∀ {q : d ⟶ e}, q ∈ self.arrows d e → p ≫ q ∈ self.arrows c e
A sugroupoid of C consists of a choice of arrows for each pair of vertices, closed
under composition and inverses.
Instances for category_theory.subgroupoid
- category_theory.subgroupoid.has_sizeof_inst
- category_theory.subgroupoid.sigma.set_like
- category_theory.subgroupoid.has_top
- category_theory.subgroupoid.has_bot
- category_theory.subgroupoid.inhabited
- category_theory.subgroupoid.has_inf
- category_theory.subgroupoid.has_Inf
- category_theory.subgroupoid.complete_lattice
The vertices of C on which S has non-trivial isotropy
Instances for ↥category_theory.subgroupoid.objs
A subgroupoid seen as a quiver on vertex set C
The coercion of a subgroupoid as a groupoid
Equations
- S.coe = {to_category := {to_category_struct := {to_quiver := {hom := λ (a b : ↥(S.objs)), ↥(S.arrows a.val b.val)}, id := λ (a : ↥(S.objs)), ⟨𝟙 a.val, _⟩, comp := λ (a b c : ↥(S.objs)) (p : a ⟶ b) (q : b ⟶ c), ⟨p.val ≫ q.val, _⟩}, id_comp' := _, comp_id' := _, assoc' := _}, inv := λ (a b : ↥(S.objs)) (p : a ⟶ b), ⟨category_theory.groupoid.inv p.val, _⟩, inv_comp' := _, comp_inv' := _}
The embedding of the coerced subgroupoid to its parent
The subgroup of the vertex group at c given by the subgroupoid
Equations
Equations
- category_theory.subgroupoid.has_Inf = {Inf := λ (s : set (category_theory.subgroupoid C)), {arrows := λ (c d : C), ⋂ (S : category_theory.subgroupoid C) (H : S ∈ s), S.arrows c d, inv := _, mul := _}}
Equations
- category_theory.subgroupoid.complete_lattice = {sup := complete_lattice.sup (complete_lattice_of_Inf (category_theory.subgroupoid C) category_theory.subgroupoid.complete_lattice._proof_1), le := complete_lattice.le (complete_lattice_of_Inf (category_theory.subgroupoid C) category_theory.subgroupoid.complete_lattice._proof_1), lt := complete_lattice.lt (complete_lattice_of_Inf (category_theory.subgroupoid C) category_theory.subgroupoid.complete_lattice._proof_1), le_refl := _, le_trans := _, lt_iff_le_not_le := _, le_antisymm := _, le_sup_left := _, le_sup_right := _, sup_le := _, inf := has_inf.inf category_theory.subgroupoid.has_inf, inf_le_left := _, inf_le_right := _, le_inf := _, Sup := complete_lattice.Sup (complete_lattice_of_Inf (category_theory.subgroupoid C) category_theory.subgroupoid.complete_lattice._proof_1), le_Sup := _, Sup_le := _, Inf := complete_lattice.Inf (complete_lattice_of_Inf (category_theory.subgroupoid C) category_theory.subgroupoid.complete_lattice._proof_1), Inf_le := _, le_Inf := _, top := ⊤, bot := ⊥, le_top := _, bot_le := _}
The functor associated to the embedding of subgroupoids
- id : ∀ {C : Type u} [_inst_1 : category_theory.groupoid C] (c : C), category_theory.subgroupoid.discrete.arrows c c (𝟙 c)
The family of arrows of the discrete groupoid
The only arrows of the discrete groupoid are the identity arrows.
Equations
- category_theory.subgroupoid.discrete = {arrows := category_theory.subgroupoid.discrete.arrows _inst_1, inv := _, mul := _}
A subgroupoid is wide if its carrier set is all of C
- to_is_wide : S.is_wide
- conj : ∀ {c d : C} (p : c ⟶ d) {γ : c ⟶ c}, γ ∈ S.arrows c c → category_theory.groupoid.inv p ≫ γ ≫ p ∈ S.arrows d d
A subgroupoid is normal if it is wide and satisfies the expected stability under conjugacy.
The subgropoid generated by the set of arrows X
Equations
- category_theory.subgroupoid.generated X = has_Inf.Inf {S : category_theory.subgroupoid C | ∀ (c d : C), X c d ⊆ S.arrows c d}
The normal sugroupoid generated by the set of arrows X
Equations
- category_theory.subgroupoid.generated_normal X = has_Inf.Inf {S : category_theory.subgroupoid C | (∀ (c d : C), X c d ⊆ S.arrows c d) ∧ S.is_normal}
A functor between groupoid defines a map of subgroupoids in the reverse direction by taking preimages.
The kernel of a functor between subgroupoid is the preimage.
- im : ∀ {C : Type u} [_inst_1 : category_theory.groupoid C] {D : Type u_2} [_inst_2 : category_theory.groupoid D] {φ : C ⥤ D} {hφ : function.injective φ.obj} {S : category_theory.subgroupoid C} {c d : C} (f : c ⟶ d), f ∈ S.arrows c d → category_theory.subgroupoid.map.arrows φ hφ S (φ.obj c) (φ.obj d) (φ.map f)
The family of arrows of the image of a subgroupoid under a functor injective on objects
The "forward" image of a subgroupoid under a functor injective on objects
Equations
- category_theory.subgroupoid.map φ hφ S = {arrows := category_theory.subgroupoid.map.arrows φ hφ S, inv := _, mul := _}
The image of a functor injective on objects
Equations
A subgroupoid is_thin if it has at most one arrow between any two vertices.
A subgroupoid is_totally_disconnected if it has only isotropy arrows.
The isotropy subgroupoid of S
The full subgroupoid on a set D : set C