category_theory.groupoid.vertex_group
⟷
Mathlib.CategoryTheory.Groupoid.VertexGroup
The following section lists changes to this file in mathlib3 and mathlib4 that occured after the initial port. Most recent changes are shown first. Hovering over a commit will show all commits associated with the same mathlib3 commit.
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(last sync)
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -6,8 +6,8 @@ Authors: Rémi Bottinelli
import CategoryTheory.Groupoid
import CategoryTheory.PathCategory
import Algebra.Group.Defs
-import Algebra.Hom.Group
-import Algebra.Hom.Equiv.Basic
+import Algebra.Group.Hom.Defs
+import Algebra.Group.Equiv.Basic
import Combinatorics.Quiver.Path
#align_import category_theory.groupoid.vertex_group from "leanprover-community/mathlib"@"97eab48559068f3d6313da387714ef25768fb730"
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce64cd319bb6b3e82f31c2d38e79080d377be451
@@ -3,12 +3,12 @@ Copyright (c) 2022 Rémi Bottinelli. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Rémi Bottinelli
-/
-import Mathbin.CategoryTheory.Groupoid
-import Mathbin.CategoryTheory.PathCategory
-import Mathbin.Algebra.Group.Defs
-import Mathbin.Algebra.Hom.Group
-import Mathbin.Algebra.Hom.Equiv.Basic
-import Mathbin.Combinatorics.Quiver.Path
+import CategoryTheory.Groupoid
+import CategoryTheory.PathCategory
+import Algebra.Group.Defs
+import Algebra.Hom.Group
+import Algebra.Hom.Equiv.Basic
+import Combinatorics.Quiver.Path
#align_import category_theory.groupoid.vertex_group from "leanprover-community/mathlib"@"97eab48559068f3d6313da387714ef25768fb730"
mathlib commit https://github.com/leanprover-community/mathlib/commit/32a7e535287f9c73f2e4d2aef306a39190f0b504
@@ -52,7 +52,7 @@ instance vertexGroup (c : C) : Group (c ⟶ c)
one_mul := Category.id_comp
mul_one := Category.comp_id
inv := Groupoid.inv
- mul_left_inv := inv_comp
+ hMul_left_inv := inv_comp
#align category_theory.groupoid.vertex_group CategoryTheory.Groupoid.vertexGroup
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/8ea5598db6caeddde6cb734aa179cc2408dbd345
@@ -2,11 +2,6 @@
Copyright (c) 2022 Rémi Bottinelli. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Rémi Bottinelli
-
-! This file was ported from Lean 3 source module category_theory.groupoid.vertex_group
-! leanprover-community/mathlib commit 97eab48559068f3d6313da387714ef25768fb730
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathbin.CategoryTheory.Groupoid
import Mathbin.CategoryTheory.PathCategory
@@ -15,6 +10,8 @@ import Mathbin.Algebra.Hom.Group
import Mathbin.Algebra.Hom.Equiv.Basic
import Mathbin.Combinatorics.Quiver.Path
+#align_import category_theory.groupoid.vertex_group from "leanprover-community/mathlib"@"97eab48559068f3d6313da387714ef25768fb730"
+
/-!
# Vertex group
mathlib commit https://github.com/leanprover-community/mathlib/commit/9fb8964792b4237dac6200193a0d533f1b3f7423
@@ -59,11 +59,14 @@ instance vertexGroup (c : C) : Group (c ⟶ c)
#align category_theory.groupoid.vertex_group CategoryTheory.Groupoid.vertexGroup
-/
+#print CategoryTheory.Groupoid.vertexGroup.inv_eq_inv /-
/-- The inverse in the group is equal to the inverse given by `category_theory.inv`. -/
theorem vertexGroup.inv_eq_inv (c : C) (γ : c ⟶ c) : γ⁻¹ = CategoryTheory.inv γ :=
Groupoid.inv_eq_inv γ
#align category_theory.groupoid.vertex_group.inv_eq_inv CategoryTheory.Groupoid.vertexGroup.inv_eq_inv
+-/
+#print CategoryTheory.Groupoid.vertexGroupIsomOfMap /-
/-- An arrow in the groupoid defines, by conjugation, an isomorphism of groups between
its endpoints.
-/
@@ -81,13 +84,17 @@ def vertexGroupIsomOfMap {c d : C} (f : c ⟶ d) : (c ⟶ c) ≃* (d ⟶ d)
map_mul' γ₁ γ₂ := by
simp only [vertex_group_mul, inv_eq_inv, category.assoc, is_iso.hom_inv_id_assoc]
#align category_theory.groupoid.vertex_group_isom_of_map CategoryTheory.Groupoid.vertexGroupIsomOfMap
+-/
+#print CategoryTheory.Groupoid.vertexGroupIsomOfPath /-
/-- A path in the groupoid defines an isomorphism between its endpoints.
-/
def vertexGroupIsomOfPath {c d : C} (p : Quiver.Path c d) : (c ⟶ c) ≃* (d ⟶ d) :=
vertexGroupIsomOfMap (composePath p)
#align category_theory.groupoid.vertex_group_isom_of_path CategoryTheory.Groupoid.vertexGroupIsomOfPath
+-/
+#print CategoryTheory.Groupoid.CategoryTheory.Functor.mapVertexGroup /-
/-- A functor defines a morphism of vertex group. -/
@[simps]
def CategoryTheory.Groupoid.CategoryTheory.Functor.mapVertexGroup {D : Type v} [Groupoid D]
@@ -97,6 +104,7 @@ def CategoryTheory.Groupoid.CategoryTheory.Functor.mapVertexGroup {D : Type v} [
map_one' := φ.map_id c
map_mul' := φ.map_comp
#align category_theory.functor.map_vertex_group CategoryTheory.Groupoid.CategoryTheory.Functor.mapVertexGroup
+-/
end Groupoid
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -59,23 +59,11 @@ instance vertexGroup (c : C) : Group (c ⟶ c)
#align category_theory.groupoid.vertex_group CategoryTheory.Groupoid.vertexGroup
-/
-/- warning: category_theory.groupoid.vertex_group.inv_eq_inv -> CategoryTheory.Groupoid.vertexGroup.inv_eq_inv is a dubious translation:
-lean 3 declaration is
- forall {C : Type.{u1}} [_inst_1 : CategoryTheory.Groupoid.{u2, u1} C] (c : C) (γ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1))) c c), Eq.{succ u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1))) c c) (Inv.inv.{u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1))) c c) (DivInvMonoid.toHasInv.{u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1))) c c) (Group.toDivInvMonoid.{u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1))) c c) (CategoryTheory.Groupoid.vertexGroup.{u1, u2} C _inst_1 c))) γ) (CategoryTheory.inv.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1) c c γ (CategoryTheory.IsIso.of_groupoid.{u2, u1} C _inst_1 c c γ))
-but is expected to have type
- forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Groupoid.{u1, u2} C] (c : C) (γ : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C (CategoryTheory.Groupoid.toCategory.{u1, u2} C _inst_1))) c c), Eq.{succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C (CategoryTheory.Groupoid.toCategory.{u1, u2} C _inst_1))) c c) (Inv.inv.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C (CategoryTheory.Groupoid.toCategory.{u1, u2} C _inst_1))) c c) (InvOneClass.toInv.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C (CategoryTheory.Groupoid.toCategory.{u1, u2} C _inst_1))) c c) (DivInvOneMonoid.toInvOneClass.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C (CategoryTheory.Groupoid.toCategory.{u1, u2} C _inst_1))) c c) (DivisionMonoid.toDivInvOneMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C (CategoryTheory.Groupoid.toCategory.{u1, u2} C _inst_1))) c c) (Group.toDivisionMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C (CategoryTheory.Groupoid.toCategory.{u1, u2} C _inst_1))) c c) (CategoryTheory.Groupoid.vertexGroup.{u2, u1} C _inst_1 c))))) γ) (CategoryTheory.inv.{u1, u2} C (CategoryTheory.Groupoid.toCategory.{u1, u2} C _inst_1) c c γ (CategoryTheory.IsIso.of_groupoid.{u1, u2} C _inst_1 c c γ))
-Case conversion may be inaccurate. Consider using '#align category_theory.groupoid.vertex_group.inv_eq_inv CategoryTheory.Groupoid.vertexGroup.inv_eq_invₓ'. -/
/-- The inverse in the group is equal to the inverse given by `category_theory.inv`. -/
theorem vertexGroup.inv_eq_inv (c : C) (γ : c ⟶ c) : γ⁻¹ = CategoryTheory.inv γ :=
Groupoid.inv_eq_inv γ
#align category_theory.groupoid.vertex_group.inv_eq_inv CategoryTheory.Groupoid.vertexGroup.inv_eq_inv
-/- warning: category_theory.groupoid.vertex_group_isom_of_map -> CategoryTheory.Groupoid.vertexGroupIsomOfMap is a dubious translation:
-lean 3 declaration is
- forall {C : Type.{u1}} [_inst_1 : CategoryTheory.Groupoid.{u2, u1} C] {c : C} {d : C}, (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1))) c d) -> (MulEquiv.{u2, u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1))) c c) (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1))) d d) (MulOneClass.toHasMul.{u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1))) c c) (Monoid.toMulOneClass.{u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1))) c c) (DivInvMonoid.toMonoid.{u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1))) c c) (Group.toDivInvMonoid.{u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1))) c c) (CategoryTheory.Groupoid.vertexGroup.{u1, u2} C _inst_1 c))))) (MulOneClass.toHasMul.{u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1))) d d) (Monoid.toMulOneClass.{u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1))) d d) (DivInvMonoid.toMonoid.{u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1))) d d) (Group.toDivInvMonoid.{u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1))) d d) (CategoryTheory.Groupoid.vertexGroup.{u1, u2} C _inst_1 d))))))
-but is expected to have type
- forall {C : Type.{u1}} [_inst_1 : CategoryTheory.Groupoid.{u2, u1} C] {c : C} {d : C}, (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1))) c d) -> (MulEquiv.{u2, u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1))) c c) (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1))) d d) (MulOneClass.toMul.{u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1))) c c) (Monoid.toMulOneClass.{u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1))) c c) (DivInvMonoid.toMonoid.{u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1))) c c) (Group.toDivInvMonoid.{u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1))) c c) (CategoryTheory.Groupoid.vertexGroup.{u1, u2} C _inst_1 c))))) (MulOneClass.toMul.{u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1))) d d) (Monoid.toMulOneClass.{u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1))) d d) (DivInvMonoid.toMonoid.{u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1))) d d) (Group.toDivInvMonoid.{u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1))) d d) (CategoryTheory.Groupoid.vertexGroup.{u1, u2} C _inst_1 d))))))
-Case conversion may be inaccurate. Consider using '#align category_theory.groupoid.vertex_group_isom_of_map CategoryTheory.Groupoid.vertexGroupIsomOfMapₓ'. -/
/-- An arrow in the groupoid defines, by conjugation, an isomorphism of groups between
its endpoints.
-/
@@ -94,21 +82,12 @@ def vertexGroupIsomOfMap {c d : C} (f : c ⟶ d) : (c ⟶ c) ≃* (d ⟶ d)
simp only [vertex_group_mul, inv_eq_inv, category.assoc, is_iso.hom_inv_id_assoc]
#align category_theory.groupoid.vertex_group_isom_of_map CategoryTheory.Groupoid.vertexGroupIsomOfMap
-/- warning: category_theory.groupoid.vertex_group_isom_of_path -> CategoryTheory.Groupoid.vertexGroupIsomOfPath is a dubious translation:
-lean 3 declaration is
- forall {C : Type.{u1}} [_inst_1 : CategoryTheory.Groupoid.{u2, u1} C] {c : C} {d : C}, (Quiver.Path.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1))) c d) -> (MulEquiv.{u2, u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1))) c c) (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1))) d d) (MulOneClass.toHasMul.{u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1))) c c) (Monoid.toMulOneClass.{u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1))) c c) (DivInvMonoid.toMonoid.{u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1))) c c) (Group.toDivInvMonoid.{u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1))) c c) (CategoryTheory.Groupoid.vertexGroup.{u1, u2} C _inst_1 c))))) (MulOneClass.toHasMul.{u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1))) d d) (Monoid.toMulOneClass.{u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1))) d d) (DivInvMonoid.toMonoid.{u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1))) d d) (Group.toDivInvMonoid.{u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1))) d d) (CategoryTheory.Groupoid.vertexGroup.{u1, u2} C _inst_1 d))))))
-but is expected to have type
- forall {C : Type.{u1}} [_inst_1 : CategoryTheory.Groupoid.{u2, u1} C] {c : C} {d : C}, (Quiver.Path.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1))) c d) -> (MulEquiv.{u2, u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1))) c c) (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1))) d d) (MulOneClass.toMul.{u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1))) c c) (Monoid.toMulOneClass.{u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1))) c c) (DivInvMonoid.toMonoid.{u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1))) c c) (Group.toDivInvMonoid.{u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1))) c c) (CategoryTheory.Groupoid.vertexGroup.{u1, u2} C _inst_1 c))))) (MulOneClass.toMul.{u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1))) d d) (Monoid.toMulOneClass.{u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1))) d d) (DivInvMonoid.toMonoid.{u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1))) d d) (Group.toDivInvMonoid.{u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1))) d d) (CategoryTheory.Groupoid.vertexGroup.{u1, u2} C _inst_1 d))))))
-Case conversion may be inaccurate. Consider using '#align category_theory.groupoid.vertex_group_isom_of_path CategoryTheory.Groupoid.vertexGroupIsomOfPathₓ'. -/
/-- A path in the groupoid defines an isomorphism between its endpoints.
-/
def vertexGroupIsomOfPath {c d : C} (p : Quiver.Path c d) : (c ⟶ c) ≃* (d ⟶ d) :=
vertexGroupIsomOfMap (composePath p)
#align category_theory.groupoid.vertex_group_isom_of_path CategoryTheory.Groupoid.vertexGroupIsomOfPath
-/- warning: category_theory.functor.map_vertex_group -> CategoryTheory.Groupoid.CategoryTheory.Functor.mapVertexGroup is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.functor.map_vertex_group CategoryTheory.Groupoid.CategoryTheory.Functor.mapVertexGroupₓ'. -/
/-- A functor defines a morphism of vertex group. -/
@[simps]
def CategoryTheory.Groupoid.CategoryTheory.Functor.mapVertexGroup {D : Type v} [Groupoid D]
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -107,10 +107,7 @@ def vertexGroupIsomOfPath {c d : C} (p : Quiver.Path c d) : (c ⟶ c) ≃* (d
#align category_theory.groupoid.vertex_group_isom_of_path CategoryTheory.Groupoid.vertexGroupIsomOfPath
/- warning: category_theory.functor.map_vertex_group -> CategoryTheory.Groupoid.CategoryTheory.Functor.mapVertexGroup is a dubious translation:
-lean 3 declaration is
- forall {C : Type.{u1}} [_inst_1 : CategoryTheory.Groupoid.{u3, u1} C] {D : Type.{u2}} [_inst_2 : CategoryTheory.Groupoid.{u4, u2} D] (φ : CategoryTheory.Functor.{u3, u4, u1, u2} C (CategoryTheory.Groupoid.toCategory.{u3, u1} C _inst_1) D (CategoryTheory.Groupoid.toCategory.{u4, u2} D _inst_2)) (c : C), MonoidHom.{u3, u4} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C (CategoryTheory.Groupoid.toCategory.{u3, u1} C _inst_1))) c c) (Quiver.Hom.{succ u4, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} D (CategoryTheory.Category.toCategoryStruct.{u4, u2} D (CategoryTheory.Groupoid.toCategory.{u4, u2} D _inst_2))) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C (CategoryTheory.Groupoid.toCategory.{u3, u1} C _inst_1) D (CategoryTheory.Groupoid.toCategory.{u4, u2} D _inst_2) φ c) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C (CategoryTheory.Groupoid.toCategory.{u3, u1} C _inst_1) D (CategoryTheory.Groupoid.toCategory.{u4, u2} D _inst_2) φ c)) (Monoid.toMulOneClass.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C (CategoryTheory.Groupoid.toCategory.{u3, u1} C _inst_1))) c c) (DivInvMonoid.toMonoid.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C (CategoryTheory.Groupoid.toCategory.{u3, u1} C _inst_1))) c c) (Group.toDivInvMonoid.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C (CategoryTheory.Groupoid.toCategory.{u3, u1} C _inst_1))) c c) (CategoryTheory.Groupoid.vertexGroup.{u1, u3} C _inst_1 c)))) (Monoid.toMulOneClass.{u4} (Quiver.Hom.{succ u4, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} D (CategoryTheory.Category.toCategoryStruct.{u4, u2} D (CategoryTheory.Groupoid.toCategory.{u4, u2} D _inst_2))) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C (CategoryTheory.Groupoid.toCategory.{u3, u1} C _inst_1) D (CategoryTheory.Groupoid.toCategory.{u4, u2} D _inst_2) φ c) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C (CategoryTheory.Groupoid.toCategory.{u3, u1} C _inst_1) D (CategoryTheory.Groupoid.toCategory.{u4, u2} D _inst_2) φ c)) (DivInvMonoid.toMonoid.{u4} (Quiver.Hom.{succ u4, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} D (CategoryTheory.Category.toCategoryStruct.{u4, u2} D (CategoryTheory.Groupoid.toCategory.{u4, u2} D _inst_2))) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C (CategoryTheory.Groupoid.toCategory.{u3, u1} C _inst_1) D (CategoryTheory.Groupoid.toCategory.{u4, u2} D _inst_2) φ c) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C (CategoryTheory.Groupoid.toCategory.{u3, u1} C _inst_1) D (CategoryTheory.Groupoid.toCategory.{u4, u2} D _inst_2) φ c)) (Group.toDivInvMonoid.{u4} (Quiver.Hom.{succ u4, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} D (CategoryTheory.Category.toCategoryStruct.{u4, u2} D (CategoryTheory.Groupoid.toCategory.{u4, u2} D _inst_2))) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C (CategoryTheory.Groupoid.toCategory.{u3, u1} C _inst_1) D (CategoryTheory.Groupoid.toCategory.{u4, u2} D _inst_2) φ c) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C (CategoryTheory.Groupoid.toCategory.{u3, u1} C _inst_1) D (CategoryTheory.Groupoid.toCategory.{u4, u2} D _inst_2) φ c)) (CategoryTheory.Groupoid.vertexGroup.{u2, u4} D _inst_2 (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C (CategoryTheory.Groupoid.toCategory.{u3, u1} C _inst_1) D (CategoryTheory.Groupoid.toCategory.{u4, u2} D _inst_2) φ c)))))
-but is expected to have type
- forall {C : Type.{u1}} [_inst_1 : CategoryTheory.Groupoid.{u3, u1} C] {D : Type.{u2}} [_inst_2 : CategoryTheory.Groupoid.{u4, u2} D] (φ : CategoryTheory.Functor.{u3, u4, u1, u2} C (CategoryTheory.Groupoid.toCategory.{u3, u1} C _inst_1) D (CategoryTheory.Groupoid.toCategory.{u4, u2} D _inst_2)) (c : C), MonoidHom.{u3, u4} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C (CategoryTheory.Groupoid.toCategory.{u3, u1} C _inst_1))) c c) (Quiver.Hom.{succ u4, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} D (CategoryTheory.Category.toCategoryStruct.{u4, u2} D (CategoryTheory.Groupoid.toCategory.{u4, u2} D _inst_2))) (Prefunctor.obj.{succ u3, succ u4, u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C (CategoryTheory.Groupoid.toCategory.{u3, u1} C _inst_1))) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} D (CategoryTheory.Category.toCategoryStruct.{u4, u2} D (CategoryTheory.Groupoid.toCategory.{u4, u2} D _inst_2))) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u1, u2} C (CategoryTheory.Groupoid.toCategory.{u3, u1} C _inst_1) D (CategoryTheory.Groupoid.toCategory.{u4, u2} D _inst_2) φ) c) (Prefunctor.obj.{succ u3, succ u4, u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C (CategoryTheory.Groupoid.toCategory.{u3, u1} C _inst_1))) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} D (CategoryTheory.Category.toCategoryStruct.{u4, u2} D (CategoryTheory.Groupoid.toCategory.{u4, u2} D _inst_2))) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u1, u2} C (CategoryTheory.Groupoid.toCategory.{u3, u1} C _inst_1) D (CategoryTheory.Groupoid.toCategory.{u4, u2} D _inst_2) φ) c)) (Monoid.toMulOneClass.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C (CategoryTheory.Groupoid.toCategory.{u3, u1} C _inst_1))) c c) (DivInvMonoid.toMonoid.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C (CategoryTheory.Groupoid.toCategory.{u3, u1} C _inst_1))) c c) (Group.toDivInvMonoid.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C (CategoryTheory.Groupoid.toCategory.{u3, u1} C _inst_1))) c c) (CategoryTheory.Groupoid.vertexGroup.{u1, u3} C _inst_1 c)))) (Monoid.toMulOneClass.{u4} (Quiver.Hom.{succ u4, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} D (CategoryTheory.Category.toCategoryStruct.{u4, u2} D (CategoryTheory.Groupoid.toCategory.{u4, u2} D _inst_2))) (Prefunctor.obj.{succ u3, succ u4, u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C (CategoryTheory.Groupoid.toCategory.{u3, u1} C _inst_1))) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} D (CategoryTheory.Category.toCategoryStruct.{u4, u2} D (CategoryTheory.Groupoid.toCategory.{u4, u2} D _inst_2))) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u1, u2} C (CategoryTheory.Groupoid.toCategory.{u3, u1} C _inst_1) D (CategoryTheory.Groupoid.toCategory.{u4, u2} D _inst_2) φ) c) (Prefunctor.obj.{succ u3, succ u4, u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C (CategoryTheory.Groupoid.toCategory.{u3, u1} C _inst_1))) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} D (CategoryTheory.Category.toCategoryStruct.{u4, u2} D (CategoryTheory.Groupoid.toCategory.{u4, u2} D _inst_2))) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u1, u2} C (CategoryTheory.Groupoid.toCategory.{u3, u1} C _inst_1) D (CategoryTheory.Groupoid.toCategory.{u4, u2} D _inst_2) φ) c)) (DivInvMonoid.toMonoid.{u4} (Quiver.Hom.{succ u4, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} D (CategoryTheory.Category.toCategoryStruct.{u4, u2} D (CategoryTheory.Groupoid.toCategory.{u4, u2} D _inst_2))) (Prefunctor.obj.{succ u3, succ u4, u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C (CategoryTheory.Groupoid.toCategory.{u3, u1} C _inst_1))) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} D (CategoryTheory.Category.toCategoryStruct.{u4, u2} D (CategoryTheory.Groupoid.toCategory.{u4, u2} D _inst_2))) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u1, u2} C (CategoryTheory.Groupoid.toCategory.{u3, u1} C _inst_1) D (CategoryTheory.Groupoid.toCategory.{u4, u2} D _inst_2) φ) c) (Prefunctor.obj.{succ u3, succ u4, u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C (CategoryTheory.Groupoid.toCategory.{u3, u1} C _inst_1))) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} D (CategoryTheory.Category.toCategoryStruct.{u4, u2} D (CategoryTheory.Groupoid.toCategory.{u4, u2} D _inst_2))) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u1, u2} C (CategoryTheory.Groupoid.toCategory.{u3, u1} C _inst_1) D (CategoryTheory.Groupoid.toCategory.{u4, u2} D _inst_2) φ) c)) (Group.toDivInvMonoid.{u4} (Quiver.Hom.{succ u4, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} D (CategoryTheory.Category.toCategoryStruct.{u4, u2} D (CategoryTheory.Groupoid.toCategory.{u4, u2} D _inst_2))) (Prefunctor.obj.{succ u3, succ u4, u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C (CategoryTheory.Groupoid.toCategory.{u3, u1} C _inst_1))) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} D (CategoryTheory.Category.toCategoryStruct.{u4, u2} D (CategoryTheory.Groupoid.toCategory.{u4, u2} D _inst_2))) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u1, u2} C (CategoryTheory.Groupoid.toCategory.{u3, u1} C _inst_1) D (CategoryTheory.Groupoid.toCategory.{u4, u2} D _inst_2) φ) c) (Prefunctor.obj.{succ u3, succ u4, u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C (CategoryTheory.Groupoid.toCategory.{u3, u1} C _inst_1))) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} D (CategoryTheory.Category.toCategoryStruct.{u4, u2} D (CategoryTheory.Groupoid.toCategory.{u4, u2} D _inst_2))) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u1, u2} C (CategoryTheory.Groupoid.toCategory.{u3, u1} C _inst_1) D (CategoryTheory.Groupoid.toCategory.{u4, u2} D _inst_2) φ) c)) (CategoryTheory.Groupoid.vertexGroup.{u2, u4} D _inst_2 (Prefunctor.obj.{succ u3, succ u4, u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C (CategoryTheory.Groupoid.toCategory.{u3, u1} C _inst_1))) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} D (CategoryTheory.Category.toCategoryStruct.{u4, u2} D (CategoryTheory.Groupoid.toCategory.{u4, u2} D _inst_2))) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u1, u2} C (CategoryTheory.Groupoid.toCategory.{u3, u1} C _inst_1) D (CategoryTheory.Groupoid.toCategory.{u4, u2} D _inst_2) φ) c)))))
+<too large>
Case conversion may be inaccurate. Consider using '#align category_theory.functor.map_vertex_group CategoryTheory.Groupoid.CategoryTheory.Functor.mapVertexGroupₓ'. -/
/-- A functor defines a morphism of vertex group. -/
@[simps]
mathlib commit https://github.com/leanprover-community/mathlib/commit/d11893b411025250c8e61ff2f12ccbd7ee35ab15
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Rémi Bottinelli
! This file was ported from Lean 3 source module category_theory.groupoid.vertex_group
-! leanprover-community/mathlib commit 47b51515e69f59bca5cf34ef456e6000fe205a69
+! leanprover-community/mathlib commit 97eab48559068f3d6313da387714ef25768fb730
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
@@ -18,6 +18,9 @@ import Mathbin.Combinatorics.Quiver.Path
/-!
# Vertex group
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
This file defines the vertex group (*aka* isotropy group) of a groupoid at a vertex.
## Implementation notes
mathlib commit https://github.com/leanprover-community/mathlib/commit/57e09a1296bfb4330ddf6624f1028ba186117d82
@@ -41,6 +41,7 @@ universe u v
variable {C : Type u} [Groupoid C]
+#print CategoryTheory.Groupoid.vertexGroup /-
/-- The vertex group at `c`. -/
@[simps]
instance vertexGroup (c : C) : Group (c ⟶ c)
@@ -53,12 +54,25 @@ instance vertexGroup (c : C) : Group (c ⟶ c)
inv := Groupoid.inv
mul_left_inv := inv_comp
#align category_theory.groupoid.vertex_group CategoryTheory.Groupoid.vertexGroup
+-/
+/- warning: category_theory.groupoid.vertex_group.inv_eq_inv -> CategoryTheory.Groupoid.vertexGroup.inv_eq_inv is a dubious translation:
+lean 3 declaration is
+ forall {C : Type.{u1}} [_inst_1 : CategoryTheory.Groupoid.{u2, u1} C] (c : C) (γ : Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1))) c c), Eq.{succ u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1))) c c) (Inv.inv.{u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1))) c c) (DivInvMonoid.toHasInv.{u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1))) c c) (Group.toDivInvMonoid.{u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1))) c c) (CategoryTheory.Groupoid.vertexGroup.{u1, u2} C _inst_1 c))) γ) (CategoryTheory.inv.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1) c c γ (CategoryTheory.IsIso.of_groupoid.{u2, u1} C _inst_1 c c γ))
+but is expected to have type
+ forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Groupoid.{u1, u2} C] (c : C) (γ : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C (CategoryTheory.Groupoid.toCategory.{u1, u2} C _inst_1))) c c), Eq.{succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C (CategoryTheory.Groupoid.toCategory.{u1, u2} C _inst_1))) c c) (Inv.inv.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C (CategoryTheory.Groupoid.toCategory.{u1, u2} C _inst_1))) c c) (InvOneClass.toInv.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C (CategoryTheory.Groupoid.toCategory.{u1, u2} C _inst_1))) c c) (DivInvOneMonoid.toInvOneClass.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C (CategoryTheory.Groupoid.toCategory.{u1, u2} C _inst_1))) c c) (DivisionMonoid.toDivInvOneMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C (CategoryTheory.Groupoid.toCategory.{u1, u2} C _inst_1))) c c) (Group.toDivisionMonoid.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C (CategoryTheory.Groupoid.toCategory.{u1, u2} C _inst_1))) c c) (CategoryTheory.Groupoid.vertexGroup.{u2, u1} C _inst_1 c))))) γ) (CategoryTheory.inv.{u1, u2} C (CategoryTheory.Groupoid.toCategory.{u1, u2} C _inst_1) c c γ (CategoryTheory.IsIso.of_groupoid.{u1, u2} C _inst_1 c c γ))
+Case conversion may be inaccurate. Consider using '#align category_theory.groupoid.vertex_group.inv_eq_inv CategoryTheory.Groupoid.vertexGroup.inv_eq_invₓ'. -/
/-- The inverse in the group is equal to the inverse given by `category_theory.inv`. -/
theorem vertexGroup.inv_eq_inv (c : C) (γ : c ⟶ c) : γ⁻¹ = CategoryTheory.inv γ :=
Groupoid.inv_eq_inv γ
#align category_theory.groupoid.vertex_group.inv_eq_inv CategoryTheory.Groupoid.vertexGroup.inv_eq_inv
+/- warning: category_theory.groupoid.vertex_group_isom_of_map -> CategoryTheory.Groupoid.vertexGroupIsomOfMap is a dubious translation:
+lean 3 declaration is
+ forall {C : Type.{u1}} [_inst_1 : CategoryTheory.Groupoid.{u2, u1} C] {c : C} {d : C}, (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1))) c d) -> (MulEquiv.{u2, u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1))) c c) (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1))) d d) (MulOneClass.toHasMul.{u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1))) c c) (Monoid.toMulOneClass.{u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1))) c c) (DivInvMonoid.toMonoid.{u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1))) c c) (Group.toDivInvMonoid.{u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1))) c c) (CategoryTheory.Groupoid.vertexGroup.{u1, u2} C _inst_1 c))))) (MulOneClass.toHasMul.{u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1))) d d) (Monoid.toMulOneClass.{u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1))) d d) (DivInvMonoid.toMonoid.{u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1))) d d) (Group.toDivInvMonoid.{u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1))) d d) (CategoryTheory.Groupoid.vertexGroup.{u1, u2} C _inst_1 d))))))
+but is expected to have type
+ forall {C : Type.{u1}} [_inst_1 : CategoryTheory.Groupoid.{u2, u1} C] {c : C} {d : C}, (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1))) c d) -> (MulEquiv.{u2, u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1))) c c) (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1))) d d) (MulOneClass.toMul.{u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1))) c c) (Monoid.toMulOneClass.{u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1))) c c) (DivInvMonoid.toMonoid.{u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1))) c c) (Group.toDivInvMonoid.{u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1))) c c) (CategoryTheory.Groupoid.vertexGroup.{u1, u2} C _inst_1 c))))) (MulOneClass.toMul.{u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1))) d d) (Monoid.toMulOneClass.{u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1))) d d) (DivInvMonoid.toMonoid.{u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1))) d d) (Group.toDivInvMonoid.{u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1))) d d) (CategoryTheory.Groupoid.vertexGroup.{u1, u2} C _inst_1 d))))))
+Case conversion may be inaccurate. Consider using '#align category_theory.groupoid.vertex_group_isom_of_map CategoryTheory.Groupoid.vertexGroupIsomOfMapₓ'. -/
/-- An arrow in the groupoid defines, by conjugation, an isomorphism of groups between
its endpoints.
-/
@@ -77,20 +91,33 @@ def vertexGroupIsomOfMap {c d : C} (f : c ⟶ d) : (c ⟶ c) ≃* (d ⟶ d)
simp only [vertex_group_mul, inv_eq_inv, category.assoc, is_iso.hom_inv_id_assoc]
#align category_theory.groupoid.vertex_group_isom_of_map CategoryTheory.Groupoid.vertexGroupIsomOfMap
+/- warning: category_theory.groupoid.vertex_group_isom_of_path -> CategoryTheory.Groupoid.vertexGroupIsomOfPath is a dubious translation:
+lean 3 declaration is
+ forall {C : Type.{u1}} [_inst_1 : CategoryTheory.Groupoid.{u2, u1} C] {c : C} {d : C}, (Quiver.Path.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1))) c d) -> (MulEquiv.{u2, u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1))) c c) (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1))) d d) (MulOneClass.toHasMul.{u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1))) c c) (Monoid.toMulOneClass.{u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1))) c c) (DivInvMonoid.toMonoid.{u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1))) c c) (Group.toDivInvMonoid.{u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1))) c c) (CategoryTheory.Groupoid.vertexGroup.{u1, u2} C _inst_1 c))))) (MulOneClass.toHasMul.{u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1))) d d) (Monoid.toMulOneClass.{u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1))) d d) (DivInvMonoid.toMonoid.{u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1))) d d) (Group.toDivInvMonoid.{u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1))) d d) (CategoryTheory.Groupoid.vertexGroup.{u1, u2} C _inst_1 d))))))
+but is expected to have type
+ forall {C : Type.{u1}} [_inst_1 : CategoryTheory.Groupoid.{u2, u1} C] {c : C} {d : C}, (Quiver.Path.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1))) c d) -> (MulEquiv.{u2, u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1))) c c) (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1))) d d) (MulOneClass.toMul.{u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1))) c c) (Monoid.toMulOneClass.{u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1))) c c) (DivInvMonoid.toMonoid.{u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1))) c c) (Group.toDivInvMonoid.{u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1))) c c) (CategoryTheory.Groupoid.vertexGroup.{u1, u2} C _inst_1 c))))) (MulOneClass.toMul.{u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1))) d d) (Monoid.toMulOneClass.{u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1))) d d) (DivInvMonoid.toMonoid.{u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1))) d d) (Group.toDivInvMonoid.{u2} (Quiver.Hom.{succ u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C (CategoryTheory.Groupoid.toCategory.{u2, u1} C _inst_1))) d d) (CategoryTheory.Groupoid.vertexGroup.{u1, u2} C _inst_1 d))))))
+Case conversion may be inaccurate. Consider using '#align category_theory.groupoid.vertex_group_isom_of_path CategoryTheory.Groupoid.vertexGroupIsomOfPathₓ'. -/
/-- A path in the groupoid defines an isomorphism between its endpoints.
-/
def vertexGroupIsomOfPath {c d : C} (p : Quiver.Path c d) : (c ⟶ c) ≃* (d ⟶ d) :=
vertexGroupIsomOfMap (composePath p)
#align category_theory.groupoid.vertex_group_isom_of_path CategoryTheory.Groupoid.vertexGroupIsomOfPath
+/- warning: category_theory.functor.map_vertex_group -> CategoryTheory.Groupoid.CategoryTheory.Functor.mapVertexGroup is a dubious translation:
+lean 3 declaration is
+ forall {C : Type.{u1}} [_inst_1 : CategoryTheory.Groupoid.{u3, u1} C] {D : Type.{u2}} [_inst_2 : CategoryTheory.Groupoid.{u4, u2} D] (φ : CategoryTheory.Functor.{u3, u4, u1, u2} C (CategoryTheory.Groupoid.toCategory.{u3, u1} C _inst_1) D (CategoryTheory.Groupoid.toCategory.{u4, u2} D _inst_2)) (c : C), MonoidHom.{u3, u4} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C (CategoryTheory.Groupoid.toCategory.{u3, u1} C _inst_1))) c c) (Quiver.Hom.{succ u4, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} D (CategoryTheory.Category.toCategoryStruct.{u4, u2} D (CategoryTheory.Groupoid.toCategory.{u4, u2} D _inst_2))) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C (CategoryTheory.Groupoid.toCategory.{u3, u1} C _inst_1) D (CategoryTheory.Groupoid.toCategory.{u4, u2} D _inst_2) φ c) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C (CategoryTheory.Groupoid.toCategory.{u3, u1} C _inst_1) D (CategoryTheory.Groupoid.toCategory.{u4, u2} D _inst_2) φ c)) (Monoid.toMulOneClass.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C (CategoryTheory.Groupoid.toCategory.{u3, u1} C _inst_1))) c c) (DivInvMonoid.toMonoid.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C (CategoryTheory.Groupoid.toCategory.{u3, u1} C _inst_1))) c c) (Group.toDivInvMonoid.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C (CategoryTheory.Groupoid.toCategory.{u3, u1} C _inst_1))) c c) (CategoryTheory.Groupoid.vertexGroup.{u1, u3} C _inst_1 c)))) (Monoid.toMulOneClass.{u4} (Quiver.Hom.{succ u4, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} D (CategoryTheory.Category.toCategoryStruct.{u4, u2} D (CategoryTheory.Groupoid.toCategory.{u4, u2} D _inst_2))) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C (CategoryTheory.Groupoid.toCategory.{u3, u1} C _inst_1) D (CategoryTheory.Groupoid.toCategory.{u4, u2} D _inst_2) φ c) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C (CategoryTheory.Groupoid.toCategory.{u3, u1} C _inst_1) D (CategoryTheory.Groupoid.toCategory.{u4, u2} D _inst_2) φ c)) (DivInvMonoid.toMonoid.{u4} (Quiver.Hom.{succ u4, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} D (CategoryTheory.Category.toCategoryStruct.{u4, u2} D (CategoryTheory.Groupoid.toCategory.{u4, u2} D _inst_2))) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C (CategoryTheory.Groupoid.toCategory.{u3, u1} C _inst_1) D (CategoryTheory.Groupoid.toCategory.{u4, u2} D _inst_2) φ c) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C (CategoryTheory.Groupoid.toCategory.{u3, u1} C _inst_1) D (CategoryTheory.Groupoid.toCategory.{u4, u2} D _inst_2) φ c)) (Group.toDivInvMonoid.{u4} (Quiver.Hom.{succ u4, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} D (CategoryTheory.Category.toCategoryStruct.{u4, u2} D (CategoryTheory.Groupoid.toCategory.{u4, u2} D _inst_2))) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C (CategoryTheory.Groupoid.toCategory.{u3, u1} C _inst_1) D (CategoryTheory.Groupoid.toCategory.{u4, u2} D _inst_2) φ c) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C (CategoryTheory.Groupoid.toCategory.{u3, u1} C _inst_1) D (CategoryTheory.Groupoid.toCategory.{u4, u2} D _inst_2) φ c)) (CategoryTheory.Groupoid.vertexGroup.{u2, u4} D _inst_2 (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C (CategoryTheory.Groupoid.toCategory.{u3, u1} C _inst_1) D (CategoryTheory.Groupoid.toCategory.{u4, u2} D _inst_2) φ c)))))
+but is expected to have type
+ forall {C : Type.{u1}} [_inst_1 : CategoryTheory.Groupoid.{u3, u1} C] {D : Type.{u2}} [_inst_2 : CategoryTheory.Groupoid.{u4, u2} D] (φ : CategoryTheory.Functor.{u3, u4, u1, u2} C (CategoryTheory.Groupoid.toCategory.{u3, u1} C _inst_1) D (CategoryTheory.Groupoid.toCategory.{u4, u2} D _inst_2)) (c : C), MonoidHom.{u3, u4} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C (CategoryTheory.Groupoid.toCategory.{u3, u1} C _inst_1))) c c) (Quiver.Hom.{succ u4, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} D (CategoryTheory.Category.toCategoryStruct.{u4, u2} D (CategoryTheory.Groupoid.toCategory.{u4, u2} D _inst_2))) (Prefunctor.obj.{succ u3, succ u4, u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C (CategoryTheory.Groupoid.toCategory.{u3, u1} C _inst_1))) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} D (CategoryTheory.Category.toCategoryStruct.{u4, u2} D (CategoryTheory.Groupoid.toCategory.{u4, u2} D _inst_2))) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u1, u2} C (CategoryTheory.Groupoid.toCategory.{u3, u1} C _inst_1) D (CategoryTheory.Groupoid.toCategory.{u4, u2} D _inst_2) φ) c) (Prefunctor.obj.{succ u3, succ u4, u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C (CategoryTheory.Groupoid.toCategory.{u3, u1} C _inst_1))) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} D (CategoryTheory.Category.toCategoryStruct.{u4, u2} D (CategoryTheory.Groupoid.toCategory.{u4, u2} D _inst_2))) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u1, u2} C (CategoryTheory.Groupoid.toCategory.{u3, u1} C _inst_1) D (CategoryTheory.Groupoid.toCategory.{u4, u2} D _inst_2) φ) c)) (Monoid.toMulOneClass.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C (CategoryTheory.Groupoid.toCategory.{u3, u1} C _inst_1))) c c) (DivInvMonoid.toMonoid.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C (CategoryTheory.Groupoid.toCategory.{u3, u1} C _inst_1))) c c) (Group.toDivInvMonoid.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C (CategoryTheory.Groupoid.toCategory.{u3, u1} C _inst_1))) c c) (CategoryTheory.Groupoid.vertexGroup.{u1, u3} C _inst_1 c)))) (Monoid.toMulOneClass.{u4} (Quiver.Hom.{succ u4, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} D (CategoryTheory.Category.toCategoryStruct.{u4, u2} D (CategoryTheory.Groupoid.toCategory.{u4, u2} D _inst_2))) (Prefunctor.obj.{succ u3, succ u4, u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C (CategoryTheory.Groupoid.toCategory.{u3, u1} C _inst_1))) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} D (CategoryTheory.Category.toCategoryStruct.{u4, u2} D (CategoryTheory.Groupoid.toCategory.{u4, u2} D _inst_2))) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u1, u2} C (CategoryTheory.Groupoid.toCategory.{u3, u1} C _inst_1) D (CategoryTheory.Groupoid.toCategory.{u4, u2} D _inst_2) φ) c) (Prefunctor.obj.{succ u3, succ u4, u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C (CategoryTheory.Groupoid.toCategory.{u3, u1} C _inst_1))) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} D (CategoryTheory.Category.toCategoryStruct.{u4, u2} D (CategoryTheory.Groupoid.toCategory.{u4, u2} D _inst_2))) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u1, u2} C (CategoryTheory.Groupoid.toCategory.{u3, u1} C _inst_1) D (CategoryTheory.Groupoid.toCategory.{u4, u2} D _inst_2) φ) c)) (DivInvMonoid.toMonoid.{u4} (Quiver.Hom.{succ u4, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} D (CategoryTheory.Category.toCategoryStruct.{u4, u2} D (CategoryTheory.Groupoid.toCategory.{u4, u2} D _inst_2))) (Prefunctor.obj.{succ u3, succ u4, u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C (CategoryTheory.Groupoid.toCategory.{u3, u1} C _inst_1))) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} D (CategoryTheory.Category.toCategoryStruct.{u4, u2} D (CategoryTheory.Groupoid.toCategory.{u4, u2} D _inst_2))) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u1, u2} C (CategoryTheory.Groupoid.toCategory.{u3, u1} C _inst_1) D (CategoryTheory.Groupoid.toCategory.{u4, u2} D _inst_2) φ) c) (Prefunctor.obj.{succ u3, succ u4, u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C (CategoryTheory.Groupoid.toCategory.{u3, u1} C _inst_1))) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} D (CategoryTheory.Category.toCategoryStruct.{u4, u2} D (CategoryTheory.Groupoid.toCategory.{u4, u2} D _inst_2))) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u1, u2} C (CategoryTheory.Groupoid.toCategory.{u3, u1} C _inst_1) D (CategoryTheory.Groupoid.toCategory.{u4, u2} D _inst_2) φ) c)) (Group.toDivInvMonoid.{u4} (Quiver.Hom.{succ u4, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} D (CategoryTheory.Category.toCategoryStruct.{u4, u2} D (CategoryTheory.Groupoid.toCategory.{u4, u2} D _inst_2))) (Prefunctor.obj.{succ u3, succ u4, u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C (CategoryTheory.Groupoid.toCategory.{u3, u1} C _inst_1))) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} D (CategoryTheory.Category.toCategoryStruct.{u4, u2} D (CategoryTheory.Groupoid.toCategory.{u4, u2} D _inst_2))) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u1, u2} C (CategoryTheory.Groupoid.toCategory.{u3, u1} C _inst_1) D (CategoryTheory.Groupoid.toCategory.{u4, u2} D _inst_2) φ) c) (Prefunctor.obj.{succ u3, succ u4, u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C (CategoryTheory.Groupoid.toCategory.{u3, u1} C _inst_1))) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} D (CategoryTheory.Category.toCategoryStruct.{u4, u2} D (CategoryTheory.Groupoid.toCategory.{u4, u2} D _inst_2))) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u1, u2} C (CategoryTheory.Groupoid.toCategory.{u3, u1} C _inst_1) D (CategoryTheory.Groupoid.toCategory.{u4, u2} D _inst_2) φ) c)) (CategoryTheory.Groupoid.vertexGroup.{u2, u4} D _inst_2 (Prefunctor.obj.{succ u3, succ u4, u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C (CategoryTheory.Groupoid.toCategory.{u3, u1} C _inst_1))) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} D (CategoryTheory.Category.toCategoryStruct.{u4, u2} D (CategoryTheory.Groupoid.toCategory.{u4, u2} D _inst_2))) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u1, u2} C (CategoryTheory.Groupoid.toCategory.{u3, u1} C _inst_1) D (CategoryTheory.Groupoid.toCategory.{u4, u2} D _inst_2) φ) c)))))
+Case conversion may be inaccurate. Consider using '#align category_theory.functor.map_vertex_group CategoryTheory.Groupoid.CategoryTheory.Functor.mapVertexGroupₓ'. -/
/-- A functor defines a morphism of vertex group. -/
@[simps]
-def CategoryTheory.Functor.mapVertexGroup {D : Type v} [Groupoid D] (φ : C ⥤ D) (c : C) :
- (c ⟶ c) →* (φ.obj c ⟶ φ.obj c) where
+def CategoryTheory.Groupoid.CategoryTheory.Functor.mapVertexGroup {D : Type v} [Groupoid D]
+ (φ : C ⥤ D) (c : C) : (c ⟶ c) →* (φ.obj c ⟶ φ.obj c)
+ where
toFun := φ.map
map_one' := φ.map_id c
map_mul' := φ.map_comp
-#align category_theory.functor.map_vertex_group CategoryTheory.Functor.mapVertexGroup
+#align category_theory.functor.map_vertex_group CategoryTheory.Groupoid.CategoryTheory.Functor.mapVertexGroup
end Groupoid
mathlib commit https://github.com/leanprover-community/mathlib/commit/bd9851ca476957ea4549eb19b40e7b5ade9428cc
MonoidWithZeroHom
to its own file (#10438)
MonoidWithZeroHom
confusingly pulled Algebra.GroupWithZero.Defs
in Algebra.Group.Hom.Defs
.
@@ -3,11 +3,9 @@ Copyright (c) 2022 Rémi Bottinelli. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Rémi Bottinelli
-/
+import Mathlib.Algebra.Group.Equiv.Basic
import Mathlib.CategoryTheory.Groupoid
import Mathlib.CategoryTheory.PathCategory
-import Mathlib.Algebra.Group.Defs
-import Mathlib.Algebra.Group.Hom.Defs
-import Mathlib.Algebra.Group.Equiv.Basic
import Mathlib.Combinatorics.Quiver.Path
#align_import category_theory.groupoid.vertex_group from "leanprover-community/mathlib"@"47b51515e69f59bca5cf34ef456e6000fe205a69"
@@ -9,7 +9,6 @@ import Mathlib.Algebra.Group.Defs
import Mathlib.Algebra.Group.Hom.Defs
import Mathlib.Algebra.Group.Equiv.Basic
import Mathlib.Combinatorics.Quiver.Path
-import Mathlib.Combinatorics.Quiver.ConnectedComponent
#align_import category_theory.groupoid.vertex_group from "leanprover-community/mathlib"@"47b51515e69f59bca5cf34ef456e6000fe205a69"
Hom
and file name (#8095)
I believe the file defining a type of morphisms belongs alongside the file defining the structure this morphism works on. So I would like to reorganize the files in the Mathlib.Algebra.Hom
folder so that e.g. Mathlib.Algebra.Hom.Ring
becomes Mathlib.Algebra.Ring.Hom
and Mathlib.Algebra.Hom.NonUnitalAlg
becomes Mathlib.Algebra.Algebra.NonUnitalHom
.
While fixing the imports I went ahead and sorted them for good luck.
The full list of changes is: renamed: Mathlib/Algebra/Hom/NonUnitalAlg.lean -> Mathlib/Algebra/Algebra/NonUnitalHom.lean renamed: Mathlib/Algebra/Hom/Aut.lean -> Mathlib/Algebra/Group/Aut.lean renamed: Mathlib/Algebra/Hom/Commute.lean -> Mathlib/Algebra/Group/Commute/Hom.lean renamed: Mathlib/Algebra/Hom/Embedding.lean -> Mathlib/Algebra/Group/Embedding.lean renamed: Mathlib/Algebra/Hom/Equiv/Basic.lean -> Mathlib/Algebra/Group/Equiv/Basic.lean renamed: Mathlib/Algebra/Hom/Equiv/TypeTags.lean -> Mathlib/Algebra/Group/Equiv/TypeTags.lean renamed: Mathlib/Algebra/Hom/Equiv/Units/Basic.lean -> Mathlib/Algebra/Group/Units/Equiv.lean renamed: Mathlib/Algebra/Hom/Equiv/Units/GroupWithZero.lean -> Mathlib/Algebra/GroupWithZero/Units/Equiv.lean renamed: Mathlib/Algebra/Hom/Freiman.lean -> Mathlib/Algebra/Group/Freiman.lean renamed: Mathlib/Algebra/Hom/Group/Basic.lean -> Mathlib/Algebra/Group/Hom/Basic.lean renamed: Mathlib/Algebra/Hom/Group/Defs.lean -> Mathlib/Algebra/Group/Hom/Defs.lean renamed: Mathlib/Algebra/Hom/GroupAction.lean -> Mathlib/GroupTheory/GroupAction/Hom.lean renamed: Mathlib/Algebra/Hom/GroupInstances.lean -> Mathlib/Algebra/Group/Hom/Instances.lean renamed: Mathlib/Algebra/Hom/Iterate.lean -> Mathlib/Algebra/GroupPower/IterateHom.lean renamed: Mathlib/Algebra/Hom/Centroid.lean -> Mathlib/Algebra/Ring/CentroidHom.lean renamed: Mathlib/Algebra/Hom/Ring/Basic.lean -> Mathlib/Algebra/Ring/Hom/Basic.lean renamed: Mathlib/Algebra/Hom/Ring/Defs.lean -> Mathlib/Algebra/Ring/Hom/Defs.lean renamed: Mathlib/Algebra/Hom/Units.lean -> Mathlib/Algebra/Group/Units/Hom.lean
Zulip thread: https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/Reorganizing.20.60Mathlib.2EAlgebra.2EHom.60
@@ -6,8 +6,8 @@ Authors: Rémi Bottinelli
import Mathlib.CategoryTheory.Groupoid
import Mathlib.CategoryTheory.PathCategory
import Mathlib.Algebra.Group.Defs
-import Mathlib.Algebra.Hom.Group.Defs
-import Mathlib.Algebra.Hom.Equiv.Basic
+import Mathlib.Algebra.Group.Hom.Defs
+import Mathlib.Algebra.Group.Equiv.Basic
import Mathlib.Combinatorics.Quiver.Path
import Mathlib.Combinatorics.Quiver.ConnectedComponent
@@ -6,7 +6,7 @@ Authors: Rémi Bottinelli
import Mathlib.CategoryTheory.Groupoid
import Mathlib.CategoryTheory.PathCategory
import Mathlib.Algebra.Group.Defs
-import Mathlib.Algebra.Hom.Group
+import Mathlib.Algebra.Hom.Group.Defs
import Mathlib.Algebra.Hom.Equiv.Basic
import Mathlib.Combinatorics.Quiver.Path
import Mathlib.Combinatorics.Quiver.ConnectedComponent
@@ -2,11 +2,6 @@
Copyright (c) 2022 Rémi Bottinelli. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Rémi Bottinelli
-
-! This file was ported from Lean 3 source module category_theory.groupoid.vertex_group
-! leanprover-community/mathlib commit 47b51515e69f59bca5cf34ef456e6000fe205a69
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathlib.CategoryTheory.Groupoid
import Mathlib.CategoryTheory.PathCategory
@@ -16,6 +11,8 @@ import Mathlib.Algebra.Hom.Equiv.Basic
import Mathlib.Combinatorics.Quiver.Path
import Mathlib.Combinatorics.Quiver.ConnectedComponent
+#align_import category_theory.groupoid.vertex_group from "leanprover-community/mathlib"@"47b51515e69f59bca5cf34ef456e6000fe205a69"
+
/-!
# Vertex group
This is the forward port of https://github.com/leanprover-community/mathlib/pull/18742. That PR hasn't landed yet, so this PR still needs to be updated with the new commit SHA.
Co-authored-by: Scott Morrison <scott.morrison@gmail.com> Co-authored-by: Joël Riou <joel.riou@universite-paris-saclay.fr>
@@ -14,6 +14,7 @@ import Mathlib.Algebra.Group.Defs
import Mathlib.Algebra.Hom.Group
import Mathlib.Algebra.Hom.Equiv.Basic
import Mathlib.Combinatorics.Quiver.Path
+import Mathlib.Combinatorics.Quiver.ConnectedComponent
/-!
# Vertex group
All dependencies are ported!