Path homomorphisms
\[\gdef\badDispatch#1{\textbf{\textcolor{e1432d}{#1}}} \gdef\noKatexForm#1{\badDispatch{#1}} \gdef\largeDot{\raisebox{0.06em}{\tiny∙}} \gdef\rarrbar{{\raisebox{-0.05em}{→}\mkern{-0.13em}{\large\shortmid}}} \gdef\larrbar{{{\large\shortmid}\mkern{-0.13em}{\raisebox{-0.05em}{←}}}} \gdef\suptrans{^\mathsf{T}} \gdef\supdagger{^\dagger} \gdef\cardinalRewrite#1#2{\rewrite{#1}{#2}} \gdef\primed#1{{#1}^{\prime}} \gdef\tinybullet{{\tiny●}} \gdef\factsym#1{\mathord{#1}} \gdef\forwardFactor{\factsym{\uparrow}} \gdef\backwardFactor{\factsym{\downarrow}} \gdef\forwardBackwardFactor{\factsym{\updownarrow}} \gdef\forwardBackwardNeutralFactor{\factsym{\mathrlap{\downarrow}{\mathrlap{\uparrow}{\endash} } }} \gdef\neutralFactor{\factsym{\shornarrow}} \gdef\edgedot{↫} \gdef\desym{\mathbin{↣}} \gdef\uesym{\mathbin{↢}} \gdef\de#1#2{{{#1}\desym{#2}}} \gdef\ue#1#2{{{#1}\uesym{#2}}} \gdef\shifttag#1{\raisebox{-1em}{$#1$}} \gdef\shifttag#1{#1} \gdef\tde#1#2#3{{#1}\:\xrightedge{\shifttag{#3}}\;{#2}} \gdef\tue#1#2#3{{#1}\;\xundirectededge{\shifttag{#3}}\;{#2}} \gdef\shiftunderset#1#2{\underset{\raisebox{0.15em}{\scriptsize $#1$}}{#2}} \gdef\mdtde#1#2#3#4{{#1}\,\;\shiftunderset{#4}{\xrightedge{#3}}\;{#2}} \gdef\mtue#1#2#3#4{{#1}\,\;\shiftunderset{#4}{\xundirectededge{#3}}\;\,{#2}} \gdef\mtde#1#2#3#4{{#1}\,\;\operatornamewithlimits{\xrightedge{#3}}\limits_{#4} \;{#2}} \gdef\mapsfrom{\htmlClass{hreflect}{\mapsto}} \gdef\longmapsfrom{\htmlClass{hreflect}{\longmapsto}} \gdef\diffd{𝕕} \gdef\partialdof#1{\partial {#1}} \gdef\textAnd{\text{\,and\,}} \gdef\identicallyEqualSymbol{\equiv} \gdef\congruentSymbol{\equiv} \gdef\isomorphicSymbol{\simeq} \gdef\homeomorphicSymbol{\cong} \gdef\homotopicSymbol{\simeq} \gdef\approxEqualSymbol{\approx} \gdef\bijectiveSymbol{\approx} \gdef\defeq{\mathrel{≝}} \gdef\defEqualSymbol{\mathrel{≝}} \gdef\syntaxEqualSymbol{\mathrel{\textcolor{888888}{\equiv}}} \gdef\tailEqualSymbol{\underdot{=}} \gdef\headEqualSymbol{\dot{=}} \gdef\ruledelayed{:\to} \gdef\mathdollar{\text{\textdollar}} \gdef\hyphen{\text{-}} \gdef\endash{\text{--}} \gdef\emdash{\text{---}} \gdef\updownarrows{\uparrow\!\downarrow} \gdef\vthinspace{\mkern{1pt}} \gdef\dlq{\text{\textquotedblleft}} \gdef\drq{\text{\textquotedblright}} \gdef\dprime{{\prime\prime}} \gdef\inverse#1{{{#1}^{-1}}} \gdef\inverseSymbol{\inverse{□}} \gdef\groupDirectProduct#1{#1} \gdef\groupDirectProductSymbol{\times} \gdef\groupInverse{\inverse} \gdef\groupPower#1#2{{#1}^{#2}} \gdef\groupCommutator#1#2{\left[{#1},{#2}\right]} \gdef\groupoidInverse{\inverse} \gdef\latticeBFS#1{\textrm{bfs}({#1})} \gdef\pathHomomorphism#1{#1} \gdef\groupoidFunction#1{#1} \gdef\groupoidHomomorphism#1{#1} \gdef\affineModifier#1{\overrightharpoon{#1}} \gdef\supercirc#1{#1^{\circ}} \gdef\supercircb#1{#1^{\bullet}} \gdef\blackCircleModifier#1{\supercircb{#1}} \gdef\whiteCircleModifier#1{\supercirc{#1}} \gdef\totalSpaceStyle#1{\piFo{#1}} \gdef\baseSpaceStyle#1{\blFo{#1}} \gdef\fiberSpaceStyle#1{\reFo{#1}} \gdef\totalSpaceElementStyle#1{\daPiFo{#1}} \gdef\baseSpaceElementStyle#1{\daBlFo{#1}} \gdef\fiberSpaceElementStyle#1{\daReFo{#1}} \gdef\bundleProjectionStyle#1{\daGrFo{#1}} \gdef\bundleGraphStyle#1{\piFo{#1}} \gdef\bundleSectionStyle#1{\daOrFo{#1}} \gdef\bundleFunctionStyle#1{\daPiFo{#1}} \gdef\graphFunctionStyle#1{\totalSpaceStyle{#1}} \gdef\projectionFunctionStyle#1{\totalSpaceStyle{#1}} \gdef\sectionFunctionStyle#1{\totalSpaceStyle{#1}} \gdef\functionGraph#1{G_{#1}} \gdef\toroidalModifier#1{\supercirc{#1}} \gdef\modulo#1{\supercirc{#1}} \gdef\dividesSymbol{\mathrel{|}} \gdef\groupFunction#1{#1} \gdef\groupHomomorphism#1{#1} \gdef\automorphisms{\operatorname{Aut}} \gdef\endomorphisms{\operatorname{End}} \gdef\transportMap#1{\transportMapSymbol_{#1}} \gdef\transportMapSymbol{\tau} \gdef\action#1{#1} \gdef\selfAction#1{\hat{#1}} \gdef\actionGroupoid#1{\utilde{#1}} \gdef\cardinalGroup#1{G^*({#1})} \gdef\signed#1{{#1}^*} \gdef\transportAtlas#1{T_{#1}} \gdef\inverted#1{\underline{#1}} \gdef\mirror#1{\overline{#1}} \gdef\pathComposeSymbol{\mathbin{∷}} \gdef\pathCompose#1#2{{#1}\pathComposeSymbol{#2}} \gdef\translateSymbol{\mathbin{\uparrow}} \gdef\backwardTranslateSymbol{\mathbin{\downarrow}} \gdef\pathHead#1{\pathHeadVector{#1}} \gdef\pathTail#1{\pathTailVector{#1}} \gdef\pathHeadVector#1{{#1}^{\bullet}} \gdef\pathTailVector#1{{#1}_{\bullet}} \gdef\pathReverse#1{{#1}^{\dagger}} \gdef\pathIntegral#1#2{{#1} \int {#2}} \gdef\pathIntegralSymbol{{\int}} \gdef\pathDot#1#2{{#1} \cdot {#2}} \gdef\pathDotSymbol{{\cdot}} \gdef\compactBasis#1{\mathscr{B}} \gdef\length{\operatorname{len}} \gdef\signedLength{\operatorname{len^*}} \gdef\andFn{\operatorname{and}} \gdef\orFn{\operatorname{or}} \gdef\notFn{\operatorname{not}} \gdef\vertexList{\operatorname{vertices}} \gdef\vertexList{\operatorname{vertices}} \gdef\edgeList{\operatorname{edges}} \gdef\pathList{\operatorname{paths}} \gdef\cardinalList{\operatorname{cards}} \gdef\signedCardinalList{\operatorname{cards^*}} \gdef\wordOf{\operatorname{word}} \gdef\headVertex{\operatorname{head}} \gdef\tailVertex{\operatorname{tail}} \gdef\basis{\operatorname{basis}} \gdef\split{\operatorname{split}} \gdef\lcm{\operatorname{lcm}} \gdef\minimalContractionSets{\operatorname{MCSets}} \gdef\minimalContractions{\operatorname{MC}} \gdef\grade{\operatorname{grade}} \gdef\support{\operatorname{support}} \gdef\coefficient{\operatorname{coeff}} \gdef\domain{\operatorname{domain}} \gdef\codomain{\operatorname{codomain}} \gdef\modFunction{\operatorname{mod}} \gdef\clip{\operatorname{clip}} \gdef\sign{\operatorname{sign}} \gdef\step{\operatorname{step}} \gdef\projection{\operatorname{proj}} \gdef\lift{\operatorname{lift}} \gdef\identity{\operatorname{id}} \gdef\total{\operatorname{total}} \gdef\torus{\operatorname{torus}} \gdef\mobius{\operatorname{mobius}} \gdef\stateCompose{\operatorname{glue}} \gdef\infixStateComposeSymbol{\_} \gdef\stateDecompose{\operatorname{melt}} \gdef\stateJoin{\operatorname{conj}} \gdef\stateMeet{\operatorname{disj}} \gdef\stateExtent{\operatorname{extent}} \gdef\stateIntent{\operatorname{intent}} \gdef\infixStateJoinSymbol{\sqcup} \gdef\infixStateMeetSymbol{\sqcap} \gdef\isPrime#1{#1\textrm{ prime}} \gdef\blank{\_} \gdef\emptyWord{} \gdef\multiwordSymbol#1{\mathbf{#1}} \gdef\wordSymbol#1{\mathtt{#1}} \gdef\word#1{#1} \gdef\pathMap#1{#1} \gdef\function#1{#1} \gdef\imageModifier#1{{#1}^{\rightarrow}} \gdef\preimageModifier#1{{#1}^{\leftarrow}} \gdef\multiImageColorModifier#1{\msetCol{#1}} \gdef\multiImageModifier#1{{#1}^{\Rightarrow}} \gdef\multiPreimageModifier#1{{#1}^{\Leftarrow}} \gdef\functionComposition#1{#1} \gdef\functionCompositionSymbol{\mathbin{\small ∘}} \gdef\rightFunctionComposition#1{#1} \gdef\rightFunctionCompositionSymbol{\mathbin{\tiny ●}} \gdef\route#1#2#3{[{#1}\!:\!{#2}\!:\!{#3}]} \gdef\multiroute#1#2#3{[{#1}\!:\!{#2}\!:\!{#3}]} \gdef\pathWord#1#2#3{{#1}\!:\!{#2}\!:\!{#3}} \gdef\parenPathWord#1#2#3{\left(\pathWord{#1}{#2}{#3}\right)} \gdef\nullPath{\bot} \gdef\nullElement{\bot} \gdef\path#1{#1} \gdef\vert#1{#1} \gdef\underdot#1{\underset{\raisebox{0.3em}{.}}{#1}} \gdef\headVertexSymbol{◨} \gdef\tailVertexSymbol{◧} \gdef\placeholderVertexSymbol{\mathrlap{◨}{◧}} \gdef\tvert#1{\underdot{#1}} \gdef\hvert#1{\dot{#1}} \gdef\edge#1{#1} \gdef\card#1{\mathtt{#1}} \gdef\path#1{#1} \gdef\quiver#1{#1} \gdef\bindingRuleSymbol{\to} \gdef\compactBindingRuleSymbol{:} \gdef\cayleyQuiverSymbol#1{\selfAction{#1}} \gdef\bindCayleyQuiver#1#2{\selfAction{#1}[#2]} \gdef\bindActionQuiver#1#2{#1[#2]} \gdef\bindSize#1#2{#1(#2)} \gdef\bindCardSize#1#2{#1[#2]} \gdef\bindCards#1#2{#1[#2]} \gdef\subSize#1#2{#1_{#2}} \gdef\gridQuiver#1{\textrm{Grid}^{#1}} \gdef\treeQuiver#1{\textrm{Tree}^{#1}} \gdef\bouquetQuiver#1{\textrm{Bq}^{#1}} \gdef\lineQuiver{\textrm{L}} \gdef\cycleQuiver{\textrm{C}} \gdef\squareQuiver{\textrm{Sq}} \gdef\cubicQuiver{\textrm{Cbc}} \gdef\triangularQuiver{\textrm{Tri}} \gdef\hexagonalQuiver{\textrm{Hex}} \gdef\rhombilleQuiver{\textrm{Rmb}} \gdef\limit#1#2{\lim_{#2}\,#1} \gdef\realVectorSpace#1{\mathbb{R}^{#1}} \gdef\complexVectorSpace#1{\mathbb{C}^{#1}} \gdef\matrixRing#1#2{M_{#2}(#1)} \gdef\groupoid#1{#1} \gdef\group#1{#1} \gdef\field#1{#1} \gdef\ring#1{#1} \gdef\variable#1{#1} \gdef\semiring#1{#1} \gdef\sym#1{#1} \gdef\matrix#1{#1} \gdef\tupleSym#1{#1} \gdef\polynomial#1{#1} \gdef\setLetter{\mathcal{S}} \gdef\signedSetLetter{\mathcal{S^*}} \gdef\multisetLetter{\mathcal{M}} \gdef\signedMultisetLetter{\mathcal{M^*}} \gdef\multisetSemiringSymbol#1{#1} \gdef\multisetSemiring#1#2{\multisetLetter\left[#1, #2\right]} \gdef\signedMultisetRingSymbol#1{#1} \gdef\signedMultisetRing#1#2{\signedMultisetLetter\left[#1, #2\right]} \gdef\polynomialRing#1#2{#1[{#2}]} \gdef\routeSymbol#1{#1} \gdef\multirouteSymbol#1{\mathbf{#1}} \gdef\planSymbol#1{\mathbf{#1}} \gdef\ringElement#1{#1} \gdef\tuplePart#1#2{#1\llbracket{#2}\rrbracket} \gdef\matrixPart#1#2#3{#1\llbracket{#2,#3}\rrbracket} \gdef\matrixRowPart#1{#1} \gdef\matrixColumnPart#1{#1} \gdef\subMatrixPart#1#2#3{#1_{#2,#3}} \gdef\matrixDotSymbol{\cdot} \gdef\matrixPlusSymbol{+} \gdef\wordGroup#1{\wordGroupSymbol_{#1}} \gdef\wordGroupSymbol{\Omega} \gdef\wordRing#1{\wordRingSymbol_{#1}} \gdef\wordRingSymbol{\Omega\!\degree} \gdef\wordRingElement#1{#1} \gdef\wordRingBasisElement#1{e_{#1}} \gdef\linearCombinationCoefficient#1{{\textcolor{888888}{#1}}} \gdef\plan#1{#1} \gdef\planRing#1{\planRingSymbol_{#1}} \gdef\planRingSymbol{\Phi} \gdef\basisPath#1#2{\mathbf{#1}_{#2}} \gdef\basisPathWeight#1#2{{#1}_{#2}} \gdef\unitSymbol{\mathbf{e}} \gdef\unitVertexField{\unitSymbol_1} \gdef\forwardSymbol{f} \gdef\backwardSymbol{b} \gdef\symmetricSymbol{s} \gdef\antisymmetricSymbol{a} \gdef\wordVector#1#2{\unitSymbol_{#1}^{#2}} \gdef\gradOf#1{\grad\,{#1}} \gdef\grad{\nabla} \gdef\divOf#1{\div\,{#1}} \gdef\div{\dot{\nabla}} \gdef\laplacianOf#1{\laplacian\,{#1}} \gdef\laplacian{\ddot{\nabla}} \gdef\suchThat#1#2{{#1}\,\big|\,{#2}} \gdef\chart#1{\chartSymbol_{#1}} \gdef\chartSymbol{C} \gdef\graphRegionIntersectionSymbol{\cap} \gdef\graphRegionUnionSymbol{\cup} \gdef\pathIso{\simeq} \gdef\factorial#1{#1!} \gdef\power#1#2{{#1}^{#2}} \gdef\repeatedPower#1#2{{#1}^{#2}} \gdef\kroneckerDeltaForm#1{\kroneckerDeltaSymbol_{#1}} \gdef\kroneckerDeltaSymbol{\delta} \gdef\contractionLattice#1{\operatorname{Con}(#1)} \gdef\contractedRelation#1{\sim_{#1}} \gdef\isContracted#1#2{{#1} \sim {#2}} \gdef\isContractedIn#1#2#3{{#1} \sim_{#3} {#2}} \gdef\isNotContracted#1#2{{#1} \not \sim {#2}} \gdef\isNotContractedIn#1#2#3{{#1} \not \sim_{#3} {#2}} \gdef\contractionSum#1{#1} \gdef\contractionSumSymbol{\sqcup} \gdef\contractionProduct#1{#1} \gdef\contractionProductSymbol{{\cdot}} \gdef\graph#1{#1} \gdef\graphHomomorphism#1{#1} \gdef\coversSymbol{\sqsupseteq} \gdef\coveredBySymbol{\sqsubseteq} \gdef\strictlyCoversSymbol{\sqsupset} \gdef\strictlyCoveredBySymbol{\sqsubset} \gdef\graphCovering#1#2#3{{#2} \sqsupseteq_{#1} {#3}} \gdef\quiverCovering#1#2#3{{#2} \sqsupseteq^{#1} {#3}} \gdef\powerSetSymbol{\mathcal{P}} \gdef\powerSet#1{\powerSetSymbol({#1})} \gdef\existsForm#1#2{\exists\,{#1}\,:\,{#2}} \gdef\forAllForm#1#2{\forall\,{#1}\,:\,{#2}} \gdef\notted#1{\notSymbol {#1}} \gdef\andSymbol{\land} \gdef\orSymbol{\lor} \gdef\notSymbol{\lnot} \gdef\latticeSymbol#1{#1} \gdef\meetSemilatticeSymbol#1{#1} \gdef\joinSemilatticeSymbol#1{#1} \gdef\posetSymbol#1{#1} \gdef\latticeElementSymbol#1{#1} \gdef\meetSemilatticeElementSymbol#1{#1} \gdef\joinSemilatticeElementSymbol#1{#1} \gdef\posetElementSymbol#1{#1} \gdef\latticeMeetSymbol{\wedge} \gdef\latticeJoinSymbol{\vee} \gdef\latticeTop{\top} \gdef\latticeBottom{\bot} \gdef\semilatticeMeetSymbol{\wedge} \gdef\semilatticeJoinSymbol{\vee} \gdef\semilatticeTop{\top} \gdef\semilatticeBottom{\bot} \gdef\semilatticeSemimeetSymbol{\wedge} \gdef\semilatticeSemijoinSymbol{\vee} \gdef\latticeGreaterSymbol{>} \gdef\latticeGreaterEqualSymbol{\ge} \gdef\latticeLessSymbol{<} \gdef\latticeLessEqualSymbol{\le} \gdef\posetGreaterSymbol{>} \gdef\posetGreaterEqualSymbol{\ge} \gdef\posetLessSymbol{<} \gdef\posetLessEqualSymbol{\le} \gdef\posetCoversSymbol{⋗} \gdef\posetCoveredBySymbol{⋖} \gdef\grpname#1{\operatorname{\mathsf{#1}}} \gdef\mkg#1#2#3{\grpname{#1}({#2},{#3})} \gdef\mka#1#2#3{\mathfrak{#1}({#2},{#3})} \gdef\generalLinearAlgebra#1#2{\mka{gl}{#1}{#2}} \gdef\generalLinearGroup#1#2{\mkg{GL}{#1}{#2}} \gdef\specialLinearAlgebra#1#2{\mka{sl}{#1}{#2}} \gdef\specialLinearGroup#1#2{\mkg{SL}{#1}{#2}} \gdef\projectiveGeneralLinearAlgebra#1#2{\mka{pgl}{#1}{#2}} \gdef\projectiveGeneralLinearGroup#1#2{\mkg{PGL}{#1}{#2}} \gdef\projectiveSpecialLinearAlgebra#1#2{\mka{psl}{#1}{#2}} \gdef\projectiveSpecialLinearGroup#1#2{\mkg{PSL}{#1}{#2}} \gdef\orthogonalAlgebra#1#2{\mka{o}{#1}{#2}} \gdef\orthogonalGroup#1#2{\mkg{O}{#1}{#2}} \gdef\specialOrthogonalAlgebra#1#2{\mka{so}{#1}{#2}} \gdef\specialOrthogonalGroup#1#2{\mkg{SO}{#1}{#2}} \gdef\unitaryAlgebra#1{\mka{u}{#1}{#2}} \gdef\unitaryGroup#1{\mkg{U}{#1}{#2}} \gdef\specialUnitaryAlgebra#1#2{\mka{su}{#1}{#2}} \gdef\specialUnitaryGroup#1#2{\mkg{su}{#1}{#2}} \gdef\spinAlgebra#1#2{\mka{spin}{#1}{#2}} \gdef\spinGroup#1#2{\mkg{Spin}{#1}{#2}} \gdef\pinAlgebra#1#2{\mka{pin}{#1}{#2}} \gdef\pinGroup#1#2{\mkg{Pin}{#1}{#2}} \gdef\symmetricGroup#1{\grpname{Sym}({#1})} \gdef\presentation#1{#1} \gdef\groupPresentation#1#2{\left\langle\,{#1}\,\,\middle|\mathstrut\,\,{#2}\,\right\rangle} \gdef\groupRelationIso{=} \gdef\groupGenerator#1{#1} \gdef\groupRelator#1{#1} \gdef\groupElement#1{#1} \gdef\identityElement#1{#1} \gdef\groupoidElement#1{#1} \gdef\groupIdentity#1{#1} \gdef\groupoidIdentityElement#1#2{#1_{#2}} \gdef\ringIdentity#1{#1} \gdef\iconstruct#1#2{{#1}\,\,\middle|{\large\mathstrut}\,\,{#2}} \gdef\setConstructor#1#2{\left\{\,\iconstruct{#1}{#2}\,\right\}} \gdef\multisetConstructor#1#2{\left\{\mkern{-2.3pt}\left|\,\,\iconstruct{#1}{#2}\,\right|\mkern{-2.3pt}\right\}} \gdef\cardinalityConstructor#1#2{\left|\,\iconstruct{#1}{#2}\,\right|} \gdef\setToMultiset#1{{#1}^\uparrow} \gdef\multisetToSet#1{{#1}^\downarrow} \gdef\subsets#1{\setLetter({#1})} \gdef\signedSubsets#1{\signedSetLetter({#1})} \gdef\multisets#1{\multisetLetter({#1})} \gdef\signedMultisets#1{\signedMultisetLetter({#1})} \gdef\circleSpaceSymbol{S} \gdef\topologicalSpace#1{#1} \gdef\bundleSection#1{#1} \gdef\bundleProjection#1{#1} \gdef\setSymbol#1{#1} \gdef\signedSetSymbol#1{#1} \gdef\multisetSymbol#1{#1} \gdef\signedMultisetSymbol#1{#1} \gdef\setElementSymbol#1{#1} \gdef\signedSetElementSymbol#1{#1} \gdef\multisetElementSymbol#1{#1} \gdef\signedMultisetElementSymbol#1{#1} \gdef\negated#1{\bar{#1}} \gdef\positiveSignedPart#1{{#1}^+} \gdef\negativeSignedPart#1{{#1}^-} \gdef\multisetMultiplicitySymbol{\,\raisebox{.1em}{\small\#}\mkern{.1em}\,} \gdef\signedMultisetMultiplicitySymbol{\,\raisebox{.1em}{\small\#}\mkern{.1em}\,} \gdef\boundMultiplicityFunction#1{{#1}^{\sharp}} \gdef\boundSignedMultiplicityFunction#1{\operatorname{{#1}^{\sharp}}} \gdef\constructor#1#2{\left.{#1}\,\,\middle|\mathstrut\,\,{#2}\right.} \gdef\elemOf#1#2{{ {#1} \in {#2} }} \gdef\notElemOf#1#2{{ {#1} \notin {#2} }} \gdef\edgeOf#1#2{{ {#1} {\in}_E {#2} }} \gdef\vertOf#1#2{{ {#1} {\in}_V {#2} }} \gdef\pathOf#1#2{{ {#1} {\in}_P {#2} }} \gdef\pathType#1{\operatorName{path}{#1}} \gdef\vertexType#1{\operatorName{vertex}{#1}} \gdef\edgeType#1{\operatorName{edge}{#1}} \gdef\multisetType#1{\operatorName{mset}{#1}} \gdef\signedMultisetType#1{\operatorName{mset^*}{#1}} \gdef\submset{\mathbin{\dot{\subset}}} \gdef\submseteq{\mathbin{\dot{\subseteq}}} \gdef\supmset{\mathbin{\dot{\supset}}} \gdef\supmseteq{\mathbin{\dot{\supseteq}}} \gdef\unitInterval{\mathbb{I}} \gdef\fromTo#1{#1} \gdef\fromToSymbol{\mapsto} \gdef\vertexCountOf#1{|{#1}|} \gdef\vertices#1{ V_{#1} } \gdef\edges#1{ E_{#1} } \gdef\vertexField#1{#1} \gdef\edgeField#1{#1} \gdef\pathVector#1{\mathbf{#1}} \gdef\pathVectorSpace#1{\mathscr{#1}} \gdef\baseField#1{#1} \gdef\finiteField#1{\mathbb{F}_{#1}} \gdef\functionSpace#1#2{#2^{#1}} \gdef\finiteTotalFunctionSpace#1#2{#2^{\sub #1}} \gdef\pathGroupoid#1{{ \Gamma_{#1} }} \gdef\forwardPathQuiver#1#2{{\overrightharpoon{#1}_{#2}}} \gdef\backwardPathQuiver#1#2{{\overrightharpoon{#1}^{#2}}} \gdef\pathQuiver#1{{\overrightharpoon{#1}}} \gdef\mto#1#2{{#1}\mapsto{#2}} \gdef\mtoSymbol{\mapsto} \gdef\groupWordRewriting#1{\langle{#1}\rangle} \gdef\rewrite#1#2{{#1}\mapsto{#2}} \gdef\rewritingRule#1#2{{#1}\mapsto{#2}} \gdef\rewritingSystem#1{\mathcal{#1}} \gdef\multiwayBFS#1{\textrm{bfs}({#1})} \gdef\rewritingStateBinding#1#2{{\left.{#1}\!\mid\!{#2}\right.}} \gdef\rewritingRuleBinding#1#2{#1{\left[\,{#2}\,\right]}} \gdef\namedSystem#1{\mathtt{#1}} \gdef\genericRewritingSystem{\namedSystem{Sys}} \gdef\stringRewritingSystem{\namedSystem{Str}} \gdef\circularStringRewritingSystem{\namedSystem{CStr}} \gdef\turingMachineRewritingSystem{\namedSystem{TM}} \gdef\cellularAutomatonRewritingSystem{\namedSystem{CA}} \gdef\graphRewritingSystem{\namedSystem{Gr}} \gdef\hypergraphRewritingSystem{\namedSystem{HGr}} \gdef\petriNetRewritingSystem{\namedSystem{Petri}} \gdef\localStates#1{\localStatesSymbol^#1} \gdef\regionalStates#1{\regionalStatesSymbol^#1} \gdef\globalStates#1{\globalStatesSymbol^#1} \gdef\keySubStates#1{\keySubStatesSymbol^#1} \gdef\valueSubStates#1{\valueSubStatesSymbol^#1} \gdef\localState#1#2{#2_{#1}} \gdef\regionalState#1{#1} \gdef\globalState#1{#1} \gdef\keySubState#1{#1} \gdef\valueSubState#1{#1} \gdef\lhsState#1{#1_{L}} \gdef\rhsState#1{#1_{R}} \gdef\rewriteLHSRegionalState#1{#1_{L}} \gdef\rewriteRHSRegionalState#1{#1_{R}} \gdef\regionalStateForm#1{\daGFo{(}#1\daGFo{)}} \gdef\invalidRegionalState{\reFo{\times}} \gdef\emptyRegionalState{\regionalStateForm{}} \gdef\regionalSubstateSymbol{\sqsubseteq} \gdef\regionalSuperstateSymbol{\sqsupseteq} \gdef\comparableRegionalStatesSymbol{\mathbin{\square}} \gdef\incomparableRegionalStatesSymbol{\mathbin{\boxtimes}} \gdef\namedStateSet#1{\mathbf #1} \gdef\localStatesSymbol{\namedStateSet L} \gdef\regionalStatesSymbol{\namedStateSet R} \gdef\globalStatesSymbol{\namedStateSet G} \gdef\keySubStatesSymbol{\namedStateSet L_K} \gdef\valueSubStatesSymbol{\namedStateSet L_V} \gdef\localStateSymbol#1{#1} \gdef\regionalStateSymbol#1{#1} \gdef\globalStateSymbol#1{#1} \gdef\keySubStateSymbol#1{#1} \gdef\valueSubStateSymbol#1{#1} \gdef\infixComposeLocalStatesSymbol{\_} \gdef\composeLocalStatesSymbol{\operatorname{glue}} \gdef\composeLocalStatesForm#1{\composeLocalStatesSymbol(#1)} \gdef\ncard#1{\card{\inverted{#1}}} \gdef\mcard#1{\card{\mirror{#1}}} \gdef\nmcard#1{\card{\inverted{\mirror{#1}}}} \gdef\assocArray#1{\left\langle {#1} \right\rangle} \gdef\openMultiset{\lBrace} \gdef\closeMultiset{\rBrace} \gdef\set#1{\{ {#1} \}} \gdef\signedSet#1{\{ {#1} \}} \gdef\list#1{\{ {#1} \}} \gdef\multiset#1{\openMultiset {#1} \closeMultiset} \gdef\signedMultiset#1{\openMultiset {#1} \closeMultiset} \gdef\styledSet#1#2{#1\{ {#1} #1\}} \gdef\styledList#1#2{#1\{ {#1} #1\}} \gdef\styledMultiset#1#2{#1\openMultiset {#2} #1\closeMultiset} \gdef\styledSignedMultiset#1#2{\openMultiset {#2} \closeMultiset} \gdef\permutationCycle#1{#1} \gdef\permutationCycleSymbol{\to} \gdef\permutationSet#1{#1} \gdef\permutationSetSymbol{;} \gdef\transposition#1#2{{#1} \leftrightarrow {#2}} \gdef\tuple#1{( {#1} )} \gdef\concat#1{ {#1} } \gdef\paren#1{\left( {#1} \right)} \gdef\ceiling#1{\lceil{#1}\rceil} \gdef\floor#1{\lfloor{#1}\rfloor} \gdef\translationVector#1{\left[{#1}\right]_{\textrm{T}}} \gdef\quotient#1#2{{#1} / {#2}} \gdef\compactQuotient#1#2#3{{#1}\;{\upharpoonright_{#2}}\;{#3}} \gdef\multilineQuotient#1#2{\frac{#1}{#2}} \gdef\idElem#1{e_{#1}} \gdef\minus#1{-{#1}} \gdef\elem{\ \in\ } \gdef\vsp{\mkern{0.4pt}} \gdef\iGmult{\vsp} \gdef\gmult{\vsp\ast\vsp} \gdef\Gmult{\vsp\ast\vsp} \gdef\gdot{\vsp\cdot\vsp} \gdef\gDot{\vsp\mathbin{\largeDot}\vsp} \gdef\mdot{\vsp\cdot\vsp} \gdef\smallblackcirc{\vsp\raisebox{0.15em}{\tiny∙}\vsp} \gdef\smallwhitecirc{\vsp\raisebox{0.15em}{\tiny∘}\vsp} \gdef\sgdot{\mathbin{\smallwhitecirc}} \gdef\srdot{\mathbin{\smallblackcirc}} \gdef\srplus{+} \gdef\verticalEllipsis{\vdots} \gdef\appliedRelation#1{#1} \gdef\setUnionSymbol{\cup} \gdef\setIntersectionSymbol{\cap} \gdef\setRelativeComplementSymbol{-} \gdef\msetCol{\textcolor{bb4444}} \gdef\repeatedMultiset#1#2{#1\,#2} \gdef\msrdot{\mathbin{\smallblackcirc}} \gdef\msrplus{+} \gdef\smrdot{\mathbin{\smallblackcirc}} \gdef\smrplus{+} \gdef\dotminus{\mathbin{\dot{-}}} \gdef\dotcap{\mathbin{\dot{\cap}}} \gdef\dotcup{\mathbin{\dot{\cup}}} \gdef\multisetUnionSymbol{\dotcup} \gdef\multisetIntersectionSymbol{\dotcap} \gdef\multisetRelativeComplementSymbol{\dotminus} \gdef\multisetSumSymbol{\dotplus} \gdef\cartesianProductSymbol{\times} \gdef\functionType#1#2{{#1} \to {#2}} \gdef\functionSignature#1#2#3{{{#1} : {#2} \to {#3}}} \gdef\partialFunctionSignature#1#2#3{{{#1} : {#2} \rightharpoonup {#3}}} \gdef\poly#1{#1} \gdef\quiverProdPoly#1{#1} \gdef\quiverProdPower#1#2{#1^{#2}} \gdef\quiverProdTimes#1{#1} \gdef\parenLabeled#1#2{#1\ ({#2})} \gdef\parenRepeated#1#2{\parenLabeled{#1}{{#2}\text{ times}}} \gdef\underLabeled#1#2{\underbrace{#1}_{#2}} \gdef\underRepeated#1#2{\underbrace{#1}_{#2\text{ times}}} \gdef\overLabeled#1#2{\overbrace{#1}^{#2}} \gdef\overRepeated#1#2{\overbrace{#1}^{#2\text{ times}}} \gdef\modLabeled#1#2{{#1 }\textrm{ mod }{#2}} \gdef\freeGroup#1{F_{#1}} \gdef\cyclicGroup#1{\mathbb{Z}_{#1}} \gdef\componentSuperQuiverOfSymbol{\succ} \gdef\setCardinality#1{|{#1}|} \gdef\multisetCardinality#1{|{#1}|} \gdef\dependentQuiverProductSymbol{\mathbin{\times}} \gdef\rightIndependentQuiverProductSymbol{\mathbin{⋊}} \gdef\leftIndependentQuiverProductSymbol{\mathbin{⋉}} \gdef\rightStrongQuiverProductSymbol{\mathbin{⧒}} \gdef\leftStrongQuiverProductSymbol{\mathbin{⧑}} \gdef\rightFiberQuiverProductSymbol{\mathbin{⧕}} \gdef\leftFiberQuiverProductSymbol{\mathbin{⧔}} \gdef\lockedQuiverProductSymbol{\mathbin{\searrow}} \gdef\rightFreeQuiverProductSymbol{\mathbin{\smallerthan}} \gdef\leftFreeQuiverProductSymbol{\mathbin{\largerthan}} \gdef\strongIndependentQuiverProductSymbol{\mathbin{⨝}} \gdef\cartesianQuiverProductSymbol{\mathbin{□}} \gdef\strongQuiverProductSymbol{\mathbin{⊠}} \gdef\graphUnionSymbol{\sqcup} \gdef\graphProductSymbol{\times} \gdef\inlineProdSymbol{|} \gdef\serialCardSymbol{{:}} \gdef\parallelCardSymbol{{\mid}} \gdef\cardinalSequenceSymbol{{:}} \gdef\cardinalProduct#1{(#1)} \gdef\vertexProduct#1{(#1)} \gdef\edgeProduct#1{(#1)} \gdef\cardinalProductSymbol{\inlineProdSymbol} \gdef\vertexProductSymbol{\inlineProdSymbol} \gdef\edgeProductSymbol{\inlineProdSymbol} \gdef\verticalVertexProduct#1#2{\cfrac{#1}{#2}} \gdef\verticalCardinalProduct#1#2{\cfrac{#1}{#2}} \gdef\indexSum#1#2#3{{\sum_{#2}^{#3} #1}} \gdef\indexProd#1#2#3{{\prod_{#2}^{#3} #1}} \gdef\indexMax#1#2#3{{\max_{#2}^{#3} #1}} \gdef\indexMin#1#2#3{{\min_{#2}^{#3} #1}} \gdef\indexUnion#1#2#3{{\bigcup_{#2}^{#3} #1}} \gdef\indexIntersection#1#2#3{{\bigcap_{#2}^{#3} #1}} \gdef\indexGraphUnion#1#2#3{{\bigcup_{#2}^{#3} #1}} \gdef\indexGraphDisjointUnion#1#2#3{{\bigcup_{#2}^{#3} #1}} \gdef\styledIndexSum#1#2#3#4{{#1\sum_{#3}^{#4} #2}} \gdef\styledIndexProd#1#2#3#4{{#1\prod_{#3}^{#4} #2}} \gdef\styledIndexMax#1#2#3#4{{#1\max_{#3}^{#4} #2}} \gdef\styledIndexMin#1#2#3#4{{#1\min_{#3}^{#4} #2}} \gdef\indexSumSymbol{\sum} \gdef\indexProdSymbol{\prod} \gdef\indexMaxSymbol{\max} \gdef\indexMinSymbol{\min} \gdef\openInterval#1#2{(#1,#2)} \gdef\closedInterval#1#2{[#1,#2]} \gdef\openClosedInterval#1#2{(#1,#2]} \gdef\closedOpenInterval#1#2{[#1,#2)} \gdef\oneTo#1{1..{#1}} \gdef\zeroTo#1{0..{#1}} \gdef\qstring#1{\mathtt{"}{#1}\mathtt{"}} \gdef\wstring#1{\textcolor{6b6b6b}{#1}} \gdef\qchar#1{\mathtt{'}{#1}\mathtt{'}} \gdef\lstr#1{\mathtt{#1}} \gdef\lchar#1{\mathtt{#1}} \gdef\string#1{{#1}} \gdef\character#1{{#1}} \gdef\homomorphismMapping#1{\assocArray{#1}} \gdef\starModifier#1{{#1}^*} \gdef\translationPresentation#1{\textrm{Z}_{#1}} \gdef\starTranslationPresentation#1{\textrm{Z}^*_{#1}} \gdef\translationPathValuation#1{\mathcal{\overrightharpoon Z}_{#1}} \gdef\starTranslationPathValuation#1{\overrightharpoon{\mathcal{Z}^*_{#1}}} \gdef\translationWordHomomorphism#1{\mathcal{Z}_{#1}} \gdef\starTranslationWordHomomorphism#1{\mathcal{Z}^*_{#1}} \gdef\translationCardinalValuation#1{\textrm{T}_{#1}} \gdef\starTranslationCardinalValuation#1{\textrm{T}^*_{#1}} \gdef\reFo#1{\textcolor{e1432d}{#1}} \gdef\grFo#1{\textcolor{4ea82a}{#1}} \gdef\blFo#1{\textcolor{3e81c3}{#1}} \gdef\orFo#1{\textcolor{dc841a}{#1}} \gdef\piFo#1{\textcolor{c74883}{#1}} \gdef\teFo#1{\textcolor{47a5a7}{#1}} \gdef\gFo#1{\textcolor{929292}{#1}} \gdef\puFo#1{\textcolor{8b7ebe}{#1}} \gdef\liReFo#1{\textcolor{ff775e}{#1}} \gdef\liGrFo#1{\textcolor{82dd63}{#1}} \gdef\liBlFo#1{\textcolor{6caff4}{#1}} \gdef\liOrFo#1{\textcolor{ffbb5f}{#1}} \gdef\liPiFo#1{\textcolor{fb77b0}{#1}} \gdef\liTeFo#1{\textcolor{7fdbdc}{#1}} \gdef\liGFo#1{\textcolor{c5c5c5}{#1}} \gdef\liPuFo#1{\textcolor{bbaff2}{#1}} \gdef\daReFo#1{\textcolor{b50700}{#1}} \gdef\daGrFo#1{\textcolor{217f00}{#1}} \gdef\daBlFo#1{\textcolor{165e9d}{#1}} \gdef\daOrFo#1{\textcolor{ae5900}{#1}} \gdef\daPiFo#1{\textcolor{9e1f61}{#1}} \gdef\daTeFo#1{\textcolor{0e7c7e}{#1}} \gdef\daGFo#1{\textcolor{6b6b6b}{#1}} \gdef\daPuFo#1{\textcolor{665996}{#1}} \gdef\boFo#1{\mathbf{#1}} \gdef\itFo#1{\mathit{#1}} \gdef\unFo#1{\underline{#1}} \gdef\stFo#1{\struckthrough{#1}} \gdef\plTeFo#1{\textrm{#1}} \gdef\maTeFo#1{\textrm{#1}} \gdef\ZNFuFo#1{\operatorname{#1}} \gdef\ZAFo#1#2{#1(#2)} \gdef\noApSy{\gFo{\text{---}}} \gdef\unSy{\gFo{?}} \gdef\emSeSy{\gFo{ \emptyset }} \gdef\tiSy{\boFo{ \vthinspace ✓ \vthinspace }} \gdef\unIn{\mathbb{I}} \gdef\blSy{\gFo{\_}} \gdef\plSqSy{□} \gdef\baToSy{\boFo{ \vthinspace | \vthinspace }} \gdef\fiToSy{●} \gdef\fiSqToSy{■} \gdef\fiReToSy{▮} \gdef\emToSy{○} \gdef\emSqToSy{□} \gdef\emReToSy{▯} \gdef\plElSy{\,...\,} \gdef\ceElSy{\,\cdot\!\cdot\!\cdot\,} \gdef\elSy{\,\gFo{...}\,} \gdef\veElSy{\vdots} \gdef\coFo{\sqsubseteq} \gdef\CoFo#1#2{#1 \coFo #2} \gdef\coByFo{⊑} \gdef\CoByFo#1#2{#1 \coByFo #2} \gdef\stCoFo{\sqsupset} \gdef\StCoFo#1#2{#1 \stCoFo #2} \gdef\stCoByFo{\sqsubset} \gdef\StCoByFo#1#2{#1 \stCoByFo #2} \gdef\inCoFo{\sqsubseteq} \gdef\InCoFo#1#2{#1 \inCoFo #2} \gdef\InCoFoⅡ#1#2#3{#1 \inCoFo_{#3} #2} \gdef\grInCoFo{\sqsubseteq} \gdef\GrInCoFo#1#2{#1 \grInCoFo #2} \gdef\GrInCoFoⅡ#1#2#3{#1 \grInCoFo_{#3} #2} \gdef\quInCoFo{\sqsubseteq} \gdef\QuInCoFo#1#2{#1 \quInCoFo #2} \gdef\QuInCoFoⅡ#1#2#3{#1 \quInCoFo_{#3} #2} \gdef\coPrFo{\cdot} \gdef\CoPrFo#1{#1} \gdef\coSuFo{\sqcup} \gdef\CoSuFo#1{#1} \gdef\isCoFo{\sim} \gdef\IsCoFo#1#2{#1 \isCoFo #2} \gdef\IsCoFoⅡ#1#2#3{#1 \isCoFo_{#3} #2} \gdef\isNoCoFo{\nsim} \gdef\IsNoCoFo#1#2{#1 \isNoCoFo #2} \gdef\IsNoCoFoⅡ#1#2#3{#1 \isNoCoFo_{#3} #2} \gdef\coReFo{\sim} \gdef\CoReFo#1{#1} \gdef\TuFo#1{(#1)} \gdef\SeFo#1{\left\{#1\right\}} \gdef\StSeFo#1#2#3{#1#3#2} \gdef\inArSy{⏵} \gdef\arSy{⏴} \gdef\upArSy{⏶} \gdef\doArSy{⏷} \gdef\leArSy{⏴} \gdef\riArSy{⏵} \gdef\grAuFu{\operatorname{Aut}} \gdef\PaFo#1{\;#1\;} \gdef\na{\mathbb{n}} \gdef\poNa{\mathbb{N} ^+} \gdef\poRe{\mathbb{R} ^+} \gdef\pr{\mathbb{P}} \gdef\re{\mathbb{R}} \gdef\piSy{\pi} \gdef\taSy{\tau}\]

Path homomorphisms #

Introduction #

In this section, we define a path homomorphism between two quivers \( \quiver{Q} \), \( \quiver{R} \). Path homomorphisms are the natural candidate for a notion of a "continuous map" between two quivers, although we will not concentrate on defining notions of continuity or topology just yet.

Maps between paths #

First, consider a map \( \function{ \gamma } \) sending paths in a quiver \( \quiver{Q} \) to paths in a quiver \( \quiver{R} \). We can see such a map as being between the path groupoids of \( \quiver{Q} \) and \( \quiver{R} \):

\[ \functionSignature{\function{ \gamma }}{\pathGroupoid{\quiver{Q}}}{\pathGroupoid{\quiver{R}}} \]

A path homomorphism is such a map that also possesses the property of compatibility:

\[ \function{ \gamma }(\pathCompose{\path{P_1}}{\path{P_2}}) = \pathCompose{\function{ \gamma }(\path{P_1})}{\function{ \gamma }(\path{P_2})} \]

This states that we can compose paths in \( \quiver{Q} \) and then apply \( \function{ \gamma } \), or we can apply \( \function{ \gamma } \) and then compose the resulting paths in \( \quiver{R} \), and we will obtain the same result. This is in fact equivalent to the statement that \( \function{ \gamma } \) is a groupoid homomorphism.

Properties #

Before seeing any examples, we can deduce some simple properties of a path homomorphism. Firstly, let us consider a path \( \path{P} \), and the empty path starting at its tail vertex, written \( \pathTail{\path{P}} \), and head vertex, written \( \pathHead{\path{P}} \):

\[ \begin{aligned} \path{P}&= \paren{\pathWord{\vert{x}}{\wordSymbol{W}}{\vert{y}}}\\ \pathTail{\path{P}}&= \paren{\pathWord{\vert{x}}{\emptyWord{}}{\vert{x}}}\\ \pathHead{\path{P}}&= \paren{\pathWord{\vert{y}}{\emptyWord{}}{\vert{y}}}\end{aligned} \]

By definition, we have that \( \pathTail{\path{P}} \) and \( \pathHead{\path{P}} \) are the left and right units of \( \path{P} \) under path composition:

\[ \pathCompose{\pathTail{\path{P}}}{\path{P}} = \path{P} = \pathCompose{\path{P}}{\pathHead{\path{P}}} \]

Applying a path homomorphism \( \function{ \gamma } \) to these equations, and using compatibility, we obtain:

\[ \begin{aligned} \function{ \gamma }(\pathCompose{\pathTail{\path{P}}}{\path{P}})&= \function{ \gamma }(\path{P})= \function{ \gamma }(\pathCompose{\path{P}}{\pathHead{\path{P}}})\\ \pathCompose{\function{ \gamma }(\pathTail{\path{P}})}{\function{ \gamma }(\path{P})}&= \function{ \gamma }(\path{P})= \pathCompose{\function{ \gamma }(\path{P})}{\function{ \gamma }(\pathHead{\path{P}})}\end{aligned} \]

Therefore we have that \( \function{ \gamma }(\pathTail{\path{P}}) \) and \( \function{ \gamma }(\pathHead{\path{P}}) \) act like the left and right units for \( \function{ \gamma }(\path{P}) \). Since the only units are the empty paths, we can conclude that \( \graphHomomorphism{ \gamma } \) maps empty paths to empty paths, and we can write:

\[ \begin{aligned} \function{ \gamma }(\pathTail{\path{P}})&= \pathTail{\function{ \gamma }(\path{P})}\\ \function{ \gamma }(\pathHead{\path{P}})&= \pathHead{\function{ \gamma }(\path{P})}\end{aligned} \]

We can leverage this fact to understand how \( \graphHomomorphism{ \gamma } \) interacts with path reversal (the inverse of the path groupoid), since \( \pathCompose{\path{P}}{\pathReverse{\path{P}}} = \pathTail{\path{P}} \).

\[ \begin{aligned} \pathCompose{\path{P}}{\pathReverse{\path{P}}}&= \pathTail{\path{P}}\\ \function{ \gamma }(\pathCompose{\path{P}}{\pathReverse{\path{P}}})&= \function{ \gamma }(\pathTail{\path{P}})\\ \pathCompose{\function{ \gamma }(\path{P})}{\function{ \gamma }(\pathReverse{\path{P}})}&= \pathTail{\function{ \gamma }(\path{P})}\end{aligned} \]

Therefore \( \function{ \gamma }(\pathReverse{\path{P}}) \) behaves as the inverse of \( \function{ \gamma }(\path{P}) \), since it right-multiplies with it to produce the unit \( \pathTail{\function{ \gamma }(\path{P})} \). Therefore we can conclude that \( \function{ \gamma } \) preserves path reversal:

\[ \function{ \gamma }(\pathReverse{\path{P}}) = \pathReverse{\function{ \gamma }(\path{P})} \]

Summary #

We can summarize the properties of a path homomorphism (strictly speaking the first property is merely the definition):

\[ \begin{aligned} \function{ \gamma }(\pathCompose{\path{P_1}}{\path{P_2}})&= \pathCompose{\function{ \gamma }(\path{P_1})}{\function{ \gamma }(\path{P_2})}&\quad \maTeFo{preserves composition}\\ \function{ \gamma }(\pathTail{\path{P}})&= \pathTail{\function{ \gamma }(\path{P})}&\quad \maTeFo{preserves left units}\\ \function{ \gamma }(\pathHead{\path{P}})&= \pathHead{\function{ \gamma }(\path{P})}&\quad \maTeFo{preserves right units}\\ \function{ \gamma }(\pathReverse{\path{P}})&= \pathReverse{\function{ \gamma }(\path{P})}&\quad \maTeFo{preserves reversal}\end{aligned} \]

Examples #

To keep things simple, we'll start out by considering the special case take \( \quiver{R} = \quiver{Q} \), in other words, we will consider maps that sends path in \( \quiver{Q} \) to paths in \( \quiver{Q} \). We'll take \( \quiver{Q} \) to be the 2-line quiver \( \bindCards{\subSize{\lineQuiver }{2}}{\card{c}} \):

Non-example #

Imagine we try to define a path homomorphism \( \functionSignature{\function{ \gamma }}{\pathGroupoid{\quiver{Q}}}{\pathGroupoid{\quiver{R}}} \), where we initially define its behavior on two particular paths \( \orFo{\path{P_1}},\piFo{\path{P_2}} \) in \( \quiver{Q} \):

There is no path homomorphism that behaves like this, because while we can form the composition \( \pathCompose{\orFo{\path{P_1}}}{\piFo{\path{P_2}}} = \teFo{\path{P_3}} \), we cannot compose their images under \( \function{ \gamma } \): \( \pathCompose{\function{ \gamma }(\orFo{\path{P_1}})}{\function{ \gamma }(\piFo{\path{P_2}})} = \nullElement \), as the head of \( \function{ \gamma }(\orFo{\path{P_1}}) \) is not equal to the tail of \( \function{ \gamma }(\piFo{\path{P_2}}) \).

Example #

Now let us consider the map \( \functionSignature{\pathHomomorphism{ \rho }}{\pathGroupoid{\quiver{Q}}}{\pathGroupoid{\quiver{R}}} \), illustrated below for paths \( \orFo{\path{P_1}},\piFo{\path{P_2}},\teFo{\path{P_3}} \) as well as the empty paths \( \textcolor{#217f00}{\groupoidIdentityElement{1}{\vert{x}}} = \parenPathWord{\vert{x}}{\emptyWord{}}{\vert{x}},\textcolor{#165e9d}{\groupoidIdentityElement{1}{\vert{y}}} = \parenPathWord{\vert{y}}{\emptyWord{}}{\vert{y}},\textcolor{#b50700}{\groupoidIdentityElement{1}{\vert{z}}} = \parenPathWord{\vert{z}}{\emptyWord{}}{\vert{z}} \).

This map does satisfy compatibility, making it a path homomorphism. Intuitively, \( \graphHomomorphism{ \gamma } \) "reflects paths in the left-right axis" of the line quiver.

Path tables #

We can also visualize the behavior of above map as a path table showing the pairing of \( \path{P} \) and \( \function{ \gamma }(\path{P}) \) for several paths \( \elemOf{\path{P}}{\pathList(\quiver{Q})} \):

To avoid having to illustrate \( \graphHomomorphism{ \gamma } \) on every possible path, we can exploit the fact that \( \graphHomomorphism{ \gamma } \) must preserve path reversal. The (undepicted) value of \( \function{ \gamma }(\pathWord{\vert{z}}{\word{\ncard{c}}{\ncard{c}}}{\vert{x}}) \) is implied by the (depicted) value \( \function{ \gamma }(\pathWord{\vert{x}}{\word{\card{c}}{\card{c}}}{\vert{z}}) \):

\[ \begin{aligned} \function{ \gamma }(\pathReverse{\path{P}})&= \pathReverse{\function{ \gamma }(\path{P})}\\ \function{ \gamma }(\pathWord{\vert{z}}{\word{\ncard{c}}{\ncard{c}}}{\vert{x}})&= \pathReverse{\paren{\function{ \gamma }(\pathWord{\vert{x}}{\word{\card{c}}{\card{c}}}{\vert{z}})}}\\ &= \pathReverse{\paren{\pathWord{\vert{z}}{\word{\ncard{c}}{\ncard{c}}}{\vert{x}}}}\\ &= \pathWord{\vert{x}}{\word{\card{c}}{\card{c}}}{\vert{z}}\end{aligned} \]

This symmetry implies the remaining paths:

Since these pairs are implied, we need not show these mappings in path tables.

Example: zero homomorphisms #

Here we provide another example of a homomorphism, a zero homomorphism that sends every path to an empty path:

There are three such possible zero homomorphisms, because we can choose to send paths to the empty path on any of the three vertices in \( \quiver{Q} \).

Example: partial zero homomorphisms #

We can also construct path homomorphisms that "zero" some paths but not all paths. For example, we can zero the portion of any path that is "left" of the central vertex, \( \vert{y} \):

Example: maps between two different quivers #

So far, we've considered path represents from a single quiver to itself. Now let's consider a path homomorphism \( \functionSignature{\function{ \gamma }}{\pathGroupoid{\quiver{Q}}}{\pathGroupoid{\quiver{R}}} \) between a line quiver \( \quiver{Q} = \bindCards{\subSize{\lineQuiver }{2}}{\reFo{\card{r}}} \), and a different quiver \( \quiver{R} \) on cardinals \( \grFo{\card{g}},\blFo{\card{b}} \):

Here we show the path table for \( \function{ \gamma } \):

Images of edges #

Let us consider the full path table for the homomorphism we just defined:

This path table is obviously highly redundant, since many of the rows are implied by others:

  • Rows 7, 8, and 9 are implied by 4, 5, and 6 via path reversal: \( \function{ \gamma }(\pathReverse{\path{P}}) = \pathReverse{\function{ \gamma }(\path{P})} \).

  • Rows 1, 2, and 3, which describe where to send empty paths on vertices \( \vert{x},\vert{y},\vert{z} \), can be extracted from the heads (or tails) of the images of any paths that start (or end) at these vertices, e.g. rows 4 and 5.

  • Row 6 depicts the image of path \( \paren{\pathWord{\vert{x}}{\word{\reFo{\card{r}}}{\reFo{\card{r}}}}{\vert{z}}} \), but this path can be represented as the composition \( \pathCompose{\paren{\pathWord{\vert{x}}{\word{\reFo{\card{r}}}}{\vert{y}}}}{\paren{\pathWord{\vert{y}}{\word{\reFo{\card{r}}}}{\vert{z}}}} \), and hence is determined by rows 4 and 5 (and compatibility).

All in all, only rows 4 and 5 are necessary to fully describe the behavior of \( \function{ \gamma } \):

But these are just the images of the edges of \( \quiver{Q} \)!

Summary #

We can see that the behavior of a path homomorphism \( \functionSignature{\function{ \gamma }}{\pathGroupoid{\quiver{Q}}}{\pathGroupoid{\quiver{R}}} \) is uniquely determined by a choice of path \( \elemOf{\function{ \gamma }(\pathWord{\vert{x}}{\word{\card{c}}}{\vert{y}})}{\pathList(\quiver{Q})} \) for every edge \( \elemOf{\tde{\vert{x}}{\vert{y}}{\card{c}}}{\edgeList(\quiver{Q})} \). The behavior of \( \function{ \gamma } \) on longer paths in \( \quiver{Q} \) is then determined by composing the images of the sequence of edges in the path:

\[ \function{ \gamma }(\pathWord{\vert{x}}{\word{\card{c_1}}{\card{c_2}}{\card{\elSy}}{\card{c_{\sym{n}}}}}{\vert{z}}) = \pathCompose{\function{ \gamma }(\pathWord{\vert{x}}{\word{\card{c_1}}}{\blSy})}{\function{ \gamma }(\pathWord{\blSy}{\word{\card{c_2}}}{\blSy})}{\elSy}{\function{ \gamma }(\pathWord{\blSy}{\word{\card{c_{\sym{n}}}}}{\vert{z}})} \]

The only requirement we must impose on these choices for individual edges is that the images of the edges can be composed in \( \quiver{R} \) when two edges are head-to-tail in \( \quiver{Q} \):

\[ \pathCompose{\function{ \gamma }(\pathWord{\vert{x}}{\word{\card{c}}}{\vert{y}})}{\function{ \gamma }(\pathWord{\vert{y}}{\word{\card{d}}}{\vert{z}})} \neq \nullElement \]

Lengthening and shortening #

To get a further feeling for what kind of homomorphisms are possible, consider the following two graphs \( \quiver{Q} = \bindCards{\subSize{\lineQuiver }{3}}{\reFo{\card{r}}} \) and \( \path{R} = \bindCards{\subSize{\lineQuiver }{4}}{\reFo{\card{r}}} \):

Lengthening #

Our path homomorphism \( \functionSignature{\function{ \gamma }}{\pathGroupoid{\quiver{Q}}}{\pathGroupoid{\quiver{R}}} \) is defined by the following path table:

Our homomorphism \( \function{ \gamma } \) does a "jump" when traversing the middle edge in \( \quiver{Q} \). We say it is a path lengthening, because there is at least one path whose image under \( \function{ \gamma } \) is longer than the path:

\[ \existsForm{\path{P}}{\length(\pathHomomorphism{ \gamma }(\path{P}))>\length(\path{P})} \]

This is equivalent to there being at least one edge that is sent to a path longer than 1:

\[ \existsForm{\elemOf{\edge{e}}{\edgeList(\quiver{Q})}}{\length(\pathHomomorphism{ \gamma }(\edge{e}))>1} \]

We say a path homomorphism \( \function{ \gamma } \) is \( \sym{k} \)-Lipschitz if the lengths of images of edges under \( \function{ \gamma } \) are bounded above by \( \sym{k} \):

\[ \forAllForm{\elemOf{\edge{e}}{\edgeList(\quiver{Q})}}{\length(\pathHomomorphism{ \gamma }(\edge{e})) \le \sym{k}} \]

Shortening #

Let us now consider a path homomorphism \( \functionSignature{\function{ \gamma }}{\pathGroupoid{\quiver{R}}}{\pathGroupoid{\quiver{Q}}} \) with the opposite feature:

Our homomorphism \( \pathHomomorphism{ \rho } \) now "shortens" a particular edge, namely \( \paren{\pathWord{\vert{w}}{\word{\reFo{\card{r}}}}{\vert{x}}} \), sending it to \( \pathHomomorphism{ \rho }(\pathWord{\vert{w}}{\word{\reFo{\card{r}}}}{\vert{x}}) = \paren{\pathWord{\vert{b}}{\emptyWord{}}{\vert{b}}} \). Any longer paths that pass through this edge will similarly be shortened.

We say \( \pathHomomorphism{ \rho } \) is a path shortening, because there is at least one path whose image under \( \function{ \gamma } \) is shorter than the path:

\[ \existsForm{\path{P}}{\length(\pathHomomorphism{ \gamma }(\path{P}))<\length(\path{P})} \]

This is equivalent to there being at least one edge that is sent to the empty path:

\[ \existsForm{\elemOf{\edge{e}}{\edgeList(\quiver{Q})}}{\length(\pathHomomorphism{ \gamma }(\edge{e})) = 0} \]

Composition #

We can of course compose these path homomorphisms, in either order.

First, let's examine \( \functionSignature{\function{\paren{\functionComposition{\pathHomomorphism{ \rho }\functionCompositionSymbol \pathHomomorphism{ \gamma }}}}}{\quiver{Q}}{\quiver{Q}} \), which is \( \functionSignature{\pathHomomorphism{ \rho }}{\quiver{R}}{\quiver{Q}} \) applied to the result of \( \functionSignature{\pathHomomorphism{ \gamma }}{\quiver{Q}}{\quiver{R}} \).

This is the identity path homomorphism on \( \quiver{Q} \).

Now let's examine \( \functionSignature{\function{\paren{\functionComposition{\pathHomomorphism{ \gamma }\functionCompositionSymbol \pathHomomorphism{ \rho }}}}}{\quiver{R}}{\quiver{R}} \), which is \( \functionSignature{\pathHomomorphism{ \gamma }}{\quiver{Q}}{\quiver{R}} \) applied to the result of \( \functionSignature{\pathHomomorphism{ \rho }}{\quiver{R}}{\quiver{Q}} \):

This is certainly not the identity path homomorphism, and is both a shortening and a lengthening.

Length preserving #

We say a path homomorphism \( \function{ \gamma } \) is length preserving if it is neither a shortening or a lengthening. This is equivalent to saying that the length of the image of every edge edge is exactly 1:

\[ \forAllForm{\elemOf{\edge{e}}{\edgeList(\quiver{Q})}}{\length(\pathHomomorphism{ \gamma }(\edge{e})) = 1} \]

A length preserving homomorphism \( \functionSignature{\function{ \gamma }}{\pathGroupoid{\quiver{Q}}}{\pathGroupoid{\quiver{R}}} \) map edges of \( \quiver{Q} \) to oriented edges of \( \quiver{R} \): a directed edge of \( \quiver{Q} \) can be sent to a directed edge of \( \quiver{R} \), but in a sense opposite to its ordinary orientation. The "horizontal reflection" homomorphism on \( \bindCards{\subSize{\lineQuiver }{2}}{\reFo{\card{r}}} \) we considered previously was of such a type.

Path homomorphisms into the line quiver #

For any quiver \( \quiver{Q} \) there is a particular family of path homomorphisms that is particularly easy to characterize: the path homomorphisms onto the line quiver \( \subSize{\lineQuiver }{ \infty } \).

To construct these, let us first define an integer vertex field to be a function \( \functionSignature{\function{f}}{\vertexList(\quiver{Q})}{\mathbb{Z}} \) that assigns to each vertex of \( \quiver{Q} \) an integer.

Below we show an example integer vertex field on the quiver \( \quiver{Q} = \subSize{\squareQuiver }{2} \), where the values of \( \function{f} \) are displayed beside each vertex:

We will now interpret the value \( \function{f}(\vert{v}) \) as determining a vertex of the line quiver \( \bindCards{\subSize{\lineQuiver }{ \infty }}{\grFo{\card{g}}} \):

Therefore, \( \function{f} \) induces part of the behavior of a path homomorphism \( \pathHomomorphism{ \rho } \), specifically, the behavior of the empty paths of \( \quiver{Q} \):

\[ \pathHomomorphism{ \rho }(\pathWord{\vert{v}}{\emptyWord{}}{\vert{v}})\defEqualSymbol \pathWord{\function{f}(\vert{v})}{\emptyWord{}}{\function{f}(\vert{v})} \]

We now need only define \( \pathHomomorphism{ \rho } \) on the edges of \( \quiver{Q} \). To do this, we note that for any edge \( \elemOf{\tde{\vert{u}}{\vert{v}}{\card{c}}}{\edgeList(\quiver{Q})} \), we are forced by compatibility to send the corresponding path \( \paren{\pathWord{\vert{u}}{\word{\card{c}}}{\vert{v}}} \) to some path in \( \subSize{\lineQuiver }{ \infty } \) with tail vertex \( \function{f}(\vert{u}) \) and head vertex \( \function{f}(\vert{v}) \). However, there is only one path in \( \subSize{\lineQuiver }{ \infty } \)between any two given vertices, and hence we have no choice in defining the remaining behavior of \( \pathHomomorphism{ \rho } \).

The formal definition of \( \pathHomomorphism{ \rho } \) then is as follows:

\[ \pathHomomorphism{ \rho }(\pathWord{\vert{u}}{\word{\card{c}}}{\vert{v}})\defEqualSymbol \parenPathWord{\function{f}(\vert{u})}{\repeatedPower{\word{\grFo{\card{g}}}}{\function{f}(\vert{v}) - \function{f}(\vert{u})}}{\function{f}(\vert{v})} \]

We show part of the path table to make the idea clear:

Notice how the image of each edge under \( \pathHomomorphism{ \rho } \) encodes the value of \( \function{f} \) at the head and tail of the edge, and the cardinal content of the path encodes the difference between these values.

The converse direction is trivially true: any path homomorphism into the line quiver gives us an integer vertex field, by simply numbering the vertices of the line quiver and taking pre-images of empty paths.

Therefore, we have that there is a bijection between integer vertex fields and path homomorphisms into the line quiver.

Connected quivers #

We have just seen that a function \( \functionSignature{\function{f}}{\vertexList(\quiver{Q})}{\vertexList(\subSize{\lineQuiver }{ \infty })} \) induces a unique path homomorphism \( \functionSignature{\pathHomomorphism{ \rho }}{\quiver{Q}}{\subSize{\lineQuiver }{ \infty }} \), defining \( \pathHomomorphism{ \rho }(\de{\vert{u}}{\vert{v}}) \) to be the unique path in \( \subSize{\lineQuiver }{ \infty } \) between vertices \( \function{f}(\vert{u}) \) and \( \function{f}(\vert{v}) \).

We can quite easily generalize this construction, replacing the \( \subSize{\lineQuiver }{ \infty } \) with an arbitrary connected quiver \( \quiver{R} \). However, for a given function \( \functionSignature{\function{f}}{\vertexList(\quiver{Q})}{\vertexList(\quiver{R})} \) there may be more than one path between \( \function{f}(\vert{u}) \) and \( \function{f}(\vert{v}) \); we may in fact pick any path in \( \pathList(\path{R},\function{f}(\vert{u}),\function{f}(\vert{v})) \) to define the behavior of the path homomorphism on an edge \( \pathHomomorphism{ \rho }(\de{\vert{u}}{\vert{v}}) \). Hence, we no longer have a bijection -- typically there will be an infinite number of homomorphisms corresponding to a choice of function \( \function{f} \).

Endomorphisms and automorphisms #

Endomorphisms #

A special role is played by the set of path homomorphisms \( \functionSignature{\pathHomomorphism{ \alpha }}{\pathGroupoid{\quiver{Q}}}{\pathGroupoid{\quiver{Q}}} \) from a quiver \( \quiver{Q} \) to itself. We'll write this set as \( \endomorphisms(\quiver{Q}) \). We will now attach the structure of a semigroup to this set. That is to say, we will define an associative binary operation that corresponds to the composition of homomorphisms.

Like all function compositions, path homomorphism composition is associative. But is the composition of two homomorphisms \( \functionComposition{\pathHomomorphism{ \alpha }\functionCompositionSymbol \pathHomomorphism{ \beta }} \) itself a homomorphism? This is easily seen to be true:

\[ \begin{aligned} \function{\paren{\functionComposition{\pathHomomorphism{ \alpha }\functionCompositionSymbol \pathHomomorphism{ \beta }}}}(\pathCompose{\path{P_1}}{\path{P_2}})&= \pathHomomorphism{ \alpha }(\pathHomomorphism{ \beta }(\pathCompose{\path{P_1}}{\path{P_2}}))\\ &= \pathHomomorphism{ \alpha }(\pathCompose{\pathHomomorphism{ \beta }(\path{P_1})}{\pathHomomorphism{ \beta }(\path{P_2})})\\ &= \pathCompose{\pathHomomorphism{ \alpha }(\pathHomomorphism{ \beta }(\path{P_1}))}{\pathHomomorphism{ \alpha }(\pathHomomorphism{ \beta }(\path{P_2}))}\\ &= \pathCompose{\function{\paren{\functionComposition{\pathHomomorphism{ \alpha }\functionCompositionSymbol \pathHomomorphism{ \beta }}}}(\path{P_1})}{\function{\paren{\functionComposition{\pathHomomorphism{ \alpha }\functionCompositionSymbol \pathHomomorphism{ \beta }}}}(\path{P_2})}\end{aligned} \]

Therefore, the set \( \endomorphisms(\quiver{Q}) \) is a semigroup. It would further be a group if path homomorphisms were invertible, but we have seen examples of path homomorphisms that, for example, send all paths to the empty path on a particular vertex.

Automorphisms #

So how can we constrain path homomorphisms to be invertible? It will turn out to be enough to ask that they are merely surjective, so that every possible path is the image of at least one other path:

\[ \forAllForm{\path{P}}{\existsForm{\quiver{R}}{\pathHomomorphism{ \alpha }(\quiver{R}) = \path{P}}} \]

Why does surjectivity imply injectivity? We prove this by contradiction. Assume that a surjective path homomorphism \( \pathHomomorphism{ \alpha } \) is not injective, so that:

\[ \existsForm{\path{P},\path{\primed{P}},\path{P} \neq \path{\primed{P}}}{\pathHomomorphism{ \alpha }(\path{P}) = \pathHomomorphism{ \alpha }(\path{\primed{P}})} \]

If we decompose \( \path{P} \) and \( \primed{\path{P}} \) into sequences of individual 1-paths, we must obtain at least one pair \( \paren{\pathWord{\vert{u}}{\word{\card{c}}}{\vert{v}}},\paren{\pathWord{\vert{u}}{\word{\card{\primed{c}}}}{\primed{\vert{v}}}} \) such that \( \pathHomomorphism{ \alpha }(\pathWord{\vert{u}}{\word{\card{c}}}{\vert{v}}) = \pathHomomorphism{ \alpha }(\pathWord{\vert{u}}{\word{\card{\primed{c}}}}{\primed{\vert{v}}}) \) but \( \vert{v} \neq \primed{\vert{v}} \).

Affine path homomorphisms #

You may have noticed that the discussion of path homomorphisms of quivers has not relied in any way on the cardinal structure of the quivers. In fact, everything we have said is applicable also to ordinary directed graphs and their path groupoids.

Word automorphisms #

Recall that word group \( \wordGroup{\quiver{Q}} \) is the free group on the cardinals of \( \quiver{Q} \).

We now consider a group homomorphism \( \functionSignature{\groupHomomorphism{ \phi }}{\wordGroupSymbol }{\wordGroupSymbol } \), or automorphism as such homomorphisms are called. We can think of such a homomorphism \( \groupHomomorphism{ \phi } \) as a way of "rewriting" words as other words, cardinal-by-cardinal.

Let's consider an example homomorphism on a quiver with cardinals \( \cardinalList(\quiver{Q}) = \list{\reFo{\card{r}},\grFo{\card{g}},\blFo{\card{b}}} \). We define \( \groupHomomorphism{ \phi } \) as:

\[ \groupHomomorphism{ \phi } = \groupWordRewriting{\rewritingRule{\word{\reFo{\card{r}}}}{\word{\grFo{\card{g}}}{\reFo{\card{r}}}},\rewritingRule{\word{\grFo{\card{g}}}}{\word{1}},\rewritingRule{\word{\blFo{\card{b}}}}{\word{\reFo{\ncard{r}}}}} \]

The empty word has no letters to rewrite, so it remains the empty word:

\[ \pathHomomorphism{ \phi }(\card{1}) = \card{1} \]

The words with one cardinal are rewritten as given in the definition of \( \groupHomomorphism{ \phi } \). Because \( \groupHomomorphism{ \phi } \) is a group homomorphism, it must replace the inverses of these cardinals with the inverses of the corresponding right-hand-sides:

\[ \begin{csarray}{rclrcl}{accicc} \pathHomomorphism{ \phi }(\reFo{\card{r}}) & = & \word{\grFo{\card{g}}}{\reFo{\card{r}}} & \pathHomomorphism{ \phi }(\reFo{\inverted{\card{r}}}) & = & \word{\reFo{\ncard{r}}}{\grFo{\ncard{g}}}\\ \pathHomomorphism{ \phi }(\grFo{\card{g}}) & = & \card{1} & \pathHomomorphism{ \phi }(\grFo{\inverted{\card{g}}}) & = & \card{1}\\ \pathHomomorphism{ \phi }(\blFo{\card{b}}) & = & \reFo{\inverted{\card{r}}} & \pathHomomorphism{ \phi }(\blFo{\inverted{\card{b}}}) & = & \reFo{\card{r}} \end{csarray} \]

Longer words are rewritten left-to-right, since this is how a group homomorphism to \( \wordGroupSymbol \) must work. Here we show a few examples of rewriting of longer words:

\[ \begin{array}{rclcl} \pathHomomorphism{ \phi }(\word{\reFo{\card{r}}}{\reFo{\card{r}}}) & = & \pathHomomorphism{ \phi }(\reFo{\card{r}})\iGmult \pathHomomorphism{ \phi }(\reFo{\card{r}}) & = & \word{\grFo{\card{g}}}{\reFo{\card{r}}}{\grFo{\card{g}}}{\reFo{\card{r}}}\\ \pathHomomorphism{ \phi }(\word{\reFo{\ncard{r}}}{\reFo{\ncard{r}}}) & = & \pathHomomorphism{ \phi }(\reFo{\inverted{\card{r}}})\iGmult \pathHomomorphism{ \phi }(\reFo{\inverted{\card{r}}}) & = & \word{\reFo{\ncard{r}}}{\grFo{\ncard{g}}}{\reFo{\ncard{r}}}{\grFo{\ncard{g}}}\\ \pathHomomorphism{ \phi }(\word{\grFo{\card{g}}}{\grFo{\card{g}}}) & = & \pathHomomorphism{ \phi }(\grFo{\card{g}})\iGmult \pathHomomorphism{ \phi }(\grFo{\card{g}}) = \concat{\card{1}\,\card{1}} & = & \card{1}\\ \pathHomomorphism{ \phi }(\word{\blFo{\card{b}}}{\blFo{\card{b}}}) & = & \pathHomomorphism{ \phi }(\blFo{\card{b}})\iGmult \pathHomomorphism{ \phi }(\blFo{\card{b}}) & = & \word{\reFo{\ncard{r}}}{\reFo{\ncard{r}}}\\ \pathHomomorphism{ \phi }(\word{\reFo{\card{r}}}{\blFo{\card{b}}}) & = & \pathHomomorphism{ \phi }(\reFo{\card{r}})\iGmult \pathHomomorphism{ \phi }(\blFo{\card{b}}) = \concat{\word{\grFo{\card{g}}}{\reFo{\card{r}}}\,\reFo{\inverted{\card{r}}}} & = & \grFo{\card{g}}\\ \pathHomomorphism{ \phi }(\word{\reFo{\card{r}}}{\grFo{\card{g}}}{\blFo{\card{b}}}) & = & \pathHomomorphism{ \phi }(\reFo{\card{r}})\iGmult \pathHomomorphism{ \phi }(\grFo{\card{g}})\iGmult \pathHomomorphism{ \phi }(\blFo{\card{b}}) = \concat{\word{\grFo{\card{g}}}{\reFo{\card{r}}}\,\card{1}\,\reFo{\inverted{\card{r}}}} & = & \grFo{\card{g}}\\ \pathHomomorphism{ \phi }(\word{\reFo{\card{r}}}{\grFo{\card{g}}}{\blFo{\ncard{b}}}) & = & \pathHomomorphism{ \phi }(\reFo{\card{r}})\iGmult \pathHomomorphism{ \phi }(\grFo{\card{g}})\iGmult \pathHomomorphism{ \phi }(\blFo{\inverted{\card{b}}}) = \concat{\word{\grFo{\card{g}}}{\reFo{\card{r}}}\,\card{1}\,\reFo{\card{r}}} & = & \word{\grFo{\card{g}}}{\reFo{\card{r}}}{\reFo{\card{r}}} \end{array} \]

Repeating the story of the composition of path homomorphisms, we can now form the endomorphism semigroup \( \endomorphisms(\wordGroupSymbol ) \) of word homomorphisms.

Automorphism group #

If we want the group \( \automorphisms(\wordGroupSymbol ) \) rather than the semigroup \( \endomorphisms(\wordGroupSymbol ) \), we need to limit ourselves to invertible word homomorphisms.

As a first step to characterizing these, observe that any signed permutation of the set of cardinals gives an invertible homomorphism. Signed permutations are permutations that can additionally invert each element. Since the number of permutations of \( \sym{n} \) elements is \( \factorial{\sym{n}} \), and the number of inverse patterns is \( \power{2}{\sym{n}} \), there are \( \factorial{\sym{n}} \, \power{2}{\sym{n}} \) signed permutations.

For example, the 8 possible signed permutations on \( \list{\reFo{\card{r}},\blFo{\card{b}}} \) are \( \list{\TuFo{\reFo{\card{r}}, \blFo{\card{b}}},\TuFo{\inverted{\reFo{\card{r}}}, \blFo{\card{b}}},\TuFo{\reFo{\card{r}}, \inverted{\blFo{\card{b}}}},\TuFo{\inverted{\reFo{\card{r}}}, \inverted{\blFo{\card{b}}}},\TuFo{\blFo{\card{b}}, \reFo{\card{r}}},\TuFo{\inverted{\blFo{\card{b}}}, \reFo{\card{r}}},\TuFo{\blFo{\card{b}}, \inverted{\reFo{\card{r}}}},\TuFo{\inverted{\blFo{\card{b}}}, \inverted{\reFo{\card{r}}}}} \), yielding the following word automorphisms:

\[ \begin{nsarray}{c} \groupWordRewriting{\rewritingRule{\reFo{\card{r}}}{\reFo{\card{r}}},\rewritingRule{\blFo{\card{b}}}{\blFo{\card{b}}}}\\ \groupWordRewriting{\rewritingRule{\reFo{\card{r}}}{\reFo{\inverted{\card{r}}}},\rewritingRule{\blFo{\card{b}}}{\blFo{\card{b}}}}\\ \groupWordRewriting{\rewritingRule{\reFo{\card{r}}}{\reFo{\card{r}}},\rewritingRule{\blFo{\card{b}}}{\blFo{\inverted{\card{b}}}}}\\ \groupWordRewriting{\rewritingRule{\reFo{\card{r}}}{\reFo{\inverted{\card{r}}}},\rewritingRule{\blFo{\card{b}}}{\blFo{\inverted{\card{b}}}}}\\ \groupWordRewriting{\rewritingRule{\reFo{\card{r}}}{\blFo{\card{b}}},\rewritingRule{\blFo{\card{b}}}{\reFo{\card{r}}}}\\ \groupWordRewriting{\rewritingRule{\reFo{\card{r}}}{\blFo{\inverted{\card{b}}}},\rewritingRule{\blFo{\card{b}}}{\reFo{\card{r}}}}\\ \groupWordRewriting{\rewritingRule{\reFo{\card{r}}}{\blFo{\card{b}}},\rewritingRule{\blFo{\card{b}}}{\reFo{\inverted{\card{r}}}}}\\ \groupWordRewriting{\rewritingRule{\reFo{\card{r}}}{\blFo{\inverted{\card{b}}}},\rewritingRule{\blFo{\card{b}}}{\reFo{\inverted{\card{r}}}}} \end{nsarray} \]

Moving to the set \( \list{\reFo{\card{r}},\grFo{\card{g}},\blFo{\card{b}}} \) yields 48 signed permutations: \( \TuFo{\reFo{\card{r}}, \grFo{\card{g}}, \blFo{\card{b}}},\TuFo{\inverted{\reFo{\card{r}}}, \grFo{\card{g}}, \blFo{\card{b}}},\TuFo{\reFo{\card{r}}, \inverted{\grFo{\card{g}}}, \blFo{\card{b}}},\TuFo{\reFo{\card{r}}, \grFo{\card{g}}, \inverted{\blFo{\card{b}}}} \), \( \elSy \), \( \TuFo{\inverted{\blFo{\card{b}}}, \inverted{\grFo{\card{g}}}, \reFo{\card{r}}},\TuFo{\inverted{\blFo{\card{b}}}, \grFo{\card{g}}, \inverted{\reFo{\card{r}}}},\TuFo{\blFo{\card{b}}, \inverted{\grFo{\card{g}}}, \inverted{\reFo{\card{r}}}},\TuFo{\inverted{\blFo{\card{b}}}, \inverted{\grFo{\card{g}}}, \inverted{\reFo{\card{r}}}} \), yielding 48 word automorphisms:

\[ \begin{array}{c} \groupWordRewriting{\rewritingRule{\reFo{\card{r}}}{\reFo{\card{r}}},\rewritingRule{\grFo{\card{g}}}{\grFo{\card{g}}},\rewritingRule{\blFo{\card{b}}}{\blFo{\card{b}}}}\\ \groupWordRewriting{\rewritingRule{\reFo{\card{r}}}{\reFo{\inverted{\card{r}}}},\rewritingRule{\grFo{\card{g}}}{\grFo{\card{g}}},\rewritingRule{\blFo{\card{b}}}{\blFo{\card{b}}}}\\ \groupWordRewriting{\rewritingRule{\reFo{\card{r}}}{\reFo{\card{r}}},\rewritingRule{\grFo{\card{g}}}{\grFo{\inverted{\card{g}}}},\rewritingRule{\blFo{\card{b}}}{\blFo{\card{b}}}}\\ \groupWordRewriting{\rewritingRule{\reFo{\card{r}}}{\reFo{\card{r}}},\rewritingRule{\grFo{\card{g}}}{\grFo{\card{g}}},\rewritingRule{\blFo{\card{b}}}{\blFo{\inverted{\card{b}}}}}\\ \veElSy\\ \groupWordRewriting{\rewritingRule{\reFo{\card{r}}}{\blFo{\inverted{\card{b}}}},\rewritingRule{\grFo{\card{g}}}{\grFo{\inverted{\card{g}}}},\rewritingRule{\blFo{\card{b}}}{\reFo{\card{r}}}}\\ \groupWordRewriting{\rewritingRule{\reFo{\card{r}}}{\blFo{\inverted{\card{b}}}},\rewritingRule{\grFo{\card{g}}}{\grFo{\card{g}}},\rewritingRule{\blFo{\card{b}}}{\reFo{\inverted{\card{r}}}}}\\ \groupWordRewriting{\rewritingRule{\reFo{\card{r}}}{\blFo{\card{b}}},\rewritingRule{\grFo{\card{g}}}{\grFo{\inverted{\card{g}}}},\rewritingRule{\blFo{\card{b}}}{\reFo{\inverted{\card{r}}}}}\\ \groupWordRewriting{\rewritingRule{\reFo{\card{r}}}{\blFo{\inverted{\card{b}}}},\rewritingRule{\grFo{\card{g}}}{\grFo{\inverted{\card{g}}}},\rewritingRule{\blFo{\card{b}}}{\reFo{\inverted{\card{r}}}}} \end{array} \]

Being obviously invertible, the signed permutations on \( \sym{n} \) cardinals form a group. This group is known as the Coxeter group \( \group{B_{\sym{n}}} \).

Lengthening automorphisms #

This exhausts the word automorphisms that do not lengthen words. But it is not immediately obvious that they can lengthen word while still remaining invertible. Here we demonstrate one particular example and explain why it is invertible:

\[ \pathHomomorphism{ \phi } = \groupWordRewriting{\rewritingRule{\word{\reFo{\card{r}}}}{\word{\reFo{\card{r}}}{\grFo{\ncard{g}}}},\rewritingRule{\word{\grFo{\card{g}}}}{\word{\grFo{\card{g}}}{\blFo{\ncard{b}}}},\rewritingRule{\word{\blFo{\card{b}}}}{\word{\blFo{\card{b}}}}} \]

To show invertibility, we need to explicitly construct words (of any length) that map to the single-cardinal words \( \list{\reFo{\card{r}},\grFo{\card{g}},\blFo{\card{b}}} \). Inverses of longer words can then be formed by composing these primitive inverses. To find these primitive inverses, we observe that:

\[ \begin{array}{rcccccl} \reFo{\card{r}} & = & \concat{\word{\reFo{\card{r}}}{\grFo{\ncard{g}}}\,\word{\grFo{\card{g}}}{\blFo{\ncard{b}}}\,\blFo{\card{b}}} & = & \concat{\pathHomomorphism{ \phi }(\reFo{\card{r}})\,\pathHomomorphism{ \phi }(\grFo{\card{g}})\,\pathHomomorphism{ \phi }(\blFo{\card{b}})} & = & \pathHomomorphism{ \phi }(\word{\reFo{\card{r}}}{\grFo{\card{g}}}{\blFo{\card{b}}})\\ \grFo{\card{g}} & = & \concat{\word{\grFo{\card{g}}}{\blFo{\ncard{b}}}\,\blFo{\card{b}}} & = & \concat{\pathHomomorphism{ \phi }(\grFo{\card{g}})\,\pathHomomorphism{ \phi }(\blFo{\card{b}})} & = & \pathHomomorphism{ \phi }(\word{\grFo{\card{g}}}{\blFo{\card{b}}})\\ \blFo{\card{b}} & = & & & & = & \pathHomomorphism{ \phi }(\blFo{\card{b}}) \end{array} \]

Hence we have that \( \inverse{\groupHomomorphism{ \phi }} = \groupWordRewriting{\rewritingRule{\word{\reFo{\card{r}}}}{\word{\reFo{\card{r}}}{\grFo{\card{g}}}{\blFo{\card{b}}}},\rewritingRule{\word{\grFo{\card{g}}}}{\word{\grFo{\card{g}}}{\blFo{\card{b}}}},\rewritingRule{\word{\blFo{\card{b}}}}{\word{\blFo{\card{b}}}}} \).

More generally, characterizing the group structure of the automorphism group of the free group is tricky, with the most famous result being a presentation in terms of so-called Nielsen transformations, which we will not go into here.

Abelian word group #

If we temporarily imagine the word group to be Abelian, in other words, if \( \word{\reFo{\card{r}}}{\grFo{\card{g}}} = \word{\grFo{\card{g}}}{\reFo{\card{r}}},\word{\grFo{\card{g}}}{\blFo{\card{b}}} = \word{\blFo{\card{b}}}{\grFo{\card{g}}} \), etc., things become much easier. In this setting, we can represent a word homomorphism \( \groupHomomorphism{ \phi } \) on \( \sym{n} \) cardinals as an \( \sym{n}\times \sym{n} \) integral matrix \( \matrix{M_{\groupHomomorphism{ \phi }}} \) by choosing an ordering of the cardinals to serve as the basis . Here we depict four examples:

\[ \begin{csarray}{cccc}{aama} \pathHomomorphism{ \phi } & \matrix{M_{\pathHomomorphism{ \phi }}} & \pathHomomorphism{ \phi } & \matrix{M_{\pathHomomorphism{ \phi }}}\\ & & & \\ \begin{nsarray}{l} \langle \kern{2pt}\rewritingRule{\word{\reFo{\card{r}}}}{\word{\reFo{\card{r}}}},\\ \phantom{ \langle \kern{2pt}}\rewritingRule{\word{\grFo{\card{g}}}}{\word{\grFo{\card{g}}}},\\ \phantom{ \langle \kern{2pt}}\rewritingRule{\word{\blFo{\card{b}}}}{\word{\blFo{\card{b}}}}\kern{2pt} \rangle \end{nsarray} & {\begin{pmatrix}1&0&0\\0&1&0\\0&0&1\end{pmatrix}} & \begin{nsarray}{l} \langle \kern{2pt}\rewritingRule{\word{\reFo{\card{r}}}}{\word{\reFo{\card{r}}}{\grFo{\card{g}}}{\blFo{\card{b}}}},\\ \phantom{ \langle \kern{2pt}}\rewritingRule{\word{\grFo{\card{g}}}}{\word{\grFo{\card{g}}}{\blFo{\card{b}}}},\\ \phantom{ \langle \kern{2pt}}\rewritingRule{\word{\blFo{\card{b}}}}{\word{\blFo{\card{b}}}}\kern{2pt} \rangle \end{nsarray} & {\begin{pmatrix}1&1&1\\0&1&1\\0&0&1\end{pmatrix}}\\ & & & \\ \begin{nsarray}{l} \langle \kern{2pt}\rewritingRule{\word{\reFo{\card{r}}}}{\word{\card{1}}},\\ \phantom{ \langle \kern{2pt}}\rewritingRule{\word{\grFo{\card{g}}}}{\word{\grFo{\card{g}}}},\\ \phantom{ \langle \kern{2pt}}\rewritingRule{\word{\blFo{\card{b}}}}{\word{\blFo{\card{b}}}}\kern{2pt} \rangle \end{nsarray} & {\begin{pmatrix}0&0&0\\0&1&0\\0&0&1\end{pmatrix}} & \begin{nsarray}{l} \langle \kern{2pt}\rewritingRule{\word{\reFo{\card{r}}}}{\word{\reFo{\ncard{r}}}},\\ \phantom{ \langle \kern{2pt}}\rewritingRule{\word{\grFo{\card{g}}}}{\word{\blFo{\card{b}}}},\\ \phantom{ \langle \kern{2pt}}\rewritingRule{\word{\blFo{\card{b}}}}{\word{\grFo{\card{g}}}}\kern{2pt} \rangle \end{nsarray} & {\begin{pmatrix}-1&0&0\\0&0&1\\0&1&0\end{pmatrix}} \end{csarray} \]

Finding the inverse homomorphism is equivalent to inverting its integral matrix:

\[ \matrix{M_{\inverse{\pathHomomorphism{ \phi }}}} = \inverse{\matrix{M_{\pathHomomorphism{ \phi }}}} \]

Even better, it is easily checked that an integral matrix is only invertible if its determinant is \( \pm 1 \), allowing us to characterize the automorphism group of Abelian word homomorphisms as the integral orthogonal group \( \orthogonalGroup{\sym{n}}{\ring{\mathbb{Z}}} \).

Visualization #

We can visualize the action of various word homomorphisms on some familiar transitive quivers to gain intuition for their behavior.