Representations of a quiver #
A representation of a quiver over a field assigns a vector space to every vertex and a linear map to every arrow, compatibly with path composition. This is precisely a functor from Mathlib's free path category to its category of modules.
This file introduces the standard abbreviation, finite biproducts of representations, and the fact
that the trivial path acts as the identity. It also names the vertex spaces as a family
TauCeti.QuiverRep.vertexSpace indexed by the vertices, with TauCeti.QuiverRep.mapₗ the
structure maps between them; that is what a construction indexed by the vertices — a direct sum, a
product — needs, since instance search does not see the objects of CategoryTheory.Paths Q as
vertices when it is asked for a family of instances over Q (see the implementation notes). The
equivalence with modules over the path algebra is TauCeti.quiverRepEquivalence, built in
TauCeti.RepresentationTheory.Quiver.Representation.AsModule.
Implementation notes #
A representation is a functor out of CategoryTheory.Paths Q, whose objects are vertices only
after unfolding the semireducible CategoryTheory.Paths. Instance search does not see through
that when it is asked for the family ∀ v : Q, AddCommMonoid (M.obj v), although it succeeds at
each individual vertex; naming the family as TauCeti.QuiverRep.vertexSpace and giving it its two
instances by inferInstanceAs is what makes such a family usable.
References #
This implements the category-of-representations part of Layer 1 of
TauCetiRoadmap/RepresentationTheory/QuiverRepresentations/README.md.
Representations of a quiver have finite biproducts, computed vertexwise.
The trivial path acts as the identity. In the free path category Quiver.Path.nil is the
identity morphism, so a representation carries it to the identity map. Stated separately because
Quiver.Path.nil is what appears when a path is taken apart, while CategoryTheory.Functor.map_id
is phrased in terms of 𝟙: the two agree only by unfolding the semireducible
CategoryTheory.Paths, so simp only [Functor.map_id] makes no progress on a goal about
Quiver.Path.nil, and simp cannot compute the action of the trivial path without this lemma.
Mathlib states the same restatement for
functors of the form CategoryTheory.Paths.lift φ, as CategoryTheory.Paths.lift_nil; that lemma
does not apply to a general representation.
The element-level form of TauCeti.QuiverRep.map_nil: the trivial path fixes every vector.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
The structure map of a representation along a path, retyped between vertex spaces.
@[expose] is load-bearing rather than a leak: a goal about a vertex-indexed construction that has
been unfolded to the underlying ModuleCat morphisms — as the naturality square of
TauCeti.QuiverRep.asModuleIso is — only matches this once the body is visible.
Equations
- TauCeti.QuiverRep.mapₗ k Q M p = ModuleCat.Hom.hom (M.map p)
Instances For
The retyped structure map is the structure map.
The trivial path acts as the identity, the element-level
TauCeti.QuiverRep.map_nil_apply read as an equation of linear maps.
Concatenation of paths composes the structure maps, the functoriality of a representation read on the retyped maps.