Prefix extensions of string words #
A right prefix extension records an arbitrary finite sequence of letters appended to a string word. It retains the canonical embedding of old word positions and the split coordinate inclusion/projection on every displayed vertex space. The first appended letter is recorded separately when its sign controls whether the old coordinates form a subrepresentation or a quotient representation.
Bundle an already certified string path as a word.
Instances For
An arbitrary finite sequence of letters appended at the right endpoint
of C.
- base {k Q : Type u} [Field k] [Quiver Q] {R : RelationFamily k Q} {C : Word R} : C.RightExtension C
- step {k Q : Type u} [Field k] [Quiver Q] {R : RelationFamily k Q} {C D : Word R} (extension : C.RightExtension D) {z : Q} (e : SignedArrow D.target z) (h : IsString R (Quiver.Path.comp D.path (Quiver.Hom.toPath e))) : C.RightExtension (append R D e h)
Instances For
Number of appended letters.
Instances For
The signed suffix appended by a right extension.
Instances For
A right extension does not change the source vertex.
The final path is the original path followed by the recorded suffix. The source cast is necessary because source preservation is propositional for an indexed extension record.
The explicit original-path-plus-suffix factorization is itself a string.
Replaying an extension suffix after a different path with the same final vertex.
- result : Word R
- rebased : (ofStringPath basePath hbase).RightExtension self.result
- path_cast_eq : Quiver.Path.cast ⋯ ⋯ self.result.path = Quiver.Path.comp basePath extension.suffixPath
Instances For
Replay a right extension after a different certified prefix. It is enough to know that the path with the complete replayed suffix is a string; all intermediate validity proofs follow by contiguous-subpath heredity.
Instances For
The final word is longer by exactly the number of appended letters.
Concatenate two right extensions.
Instances For
Concatenation of right extensions is associative as dependent extension data.
Embed every old prefix position into the extended word.
Instances For
The old-position embedding is injective.
Transporting the source word of an extension does not change its number of appended letters.
Every arrow step between old positions remains an arrow step after an arbitrary right extension.
Appending further letters neither creates nor removes an arrow step between two inherited positions.
Every position in the extended word at or before the old final index is the image of a unique old position.
Coordinate inclusion of the old position basis into an arbitrary right extension.
Instances For
Coordinate projection from an arbitrary extension onto its old position basis.
Instances For
Coordinate projection kills a basis position not inherited from the old word.
Projection is a left inverse to inclusion on every vertex space.
Projection reads the coefficient at the corresponding inherited position.
Inclusion preserves the coefficient at every inherited position.
Inclusion has zero coefficient at every non-inherited position.
Coordinate inclusion along a right extension is injective.
Coordinate projection along a right extension is surjective.
Coordinate inclusions compose when right extensions are concatenated.
Coordinate projections compose in the reverse order when right extensions are concatenated.
Forget that every letter of a negative arm has the same sign.
Instances For
Forget that every letter of a positive arm has the same sign.
Instances For
Forgetting positivity retains exactly the positive signed path associated to the ordinary displayed-quiver arm.
A nonempty right extension whose first appended letter is negative. Its remaining tail may contain arbitrary signs.
- vertex : Q
- valid : IsString R (Quiver.Path.comp C.path (Quiver.Hom.toPath (negativeArrow self.arrow)))
- tail : (append R C (negativeArrow self.arrow) ⋯).RightExtension D
Instances For
Forget the marked first negative letter.
Instances For
The first position created by a negative-boundary extension, retained through its arbitrary tail.
Instances For
The first negative boundary letter is an ordinary arrow from the new position into the inherited old endpoint.
Transporting the source word of a negative-boundary extension preserves its total step count.
Appending any further right extension preserves the marked negative boundary letter.
Instances For
Replaying a negative-boundary extension after another certified base path, while retaining its distinguished first negative arrow.
- result : Word R
- rebased : (ofStringPath basePath hbase).NegativeBoundaryExtension self.result
- path_cast_eq : Quiver.Path.cast ⋯ ⋯ self.result.path = Quiver.Path.comp basePath extension.toRightExtension.suffixPath
Instances For
Construct the negative-boundary replay.
Instances For
Replaying a negative-boundary extension preserves its total number of letters.
A nonempty right extension whose first appended letter is positive. Its remaining tail may contain arbitrary signs.
- vertex : Q
- valid : IsString R (Quiver.Path.comp C.path (Quiver.Hom.toPath (positiveArrow self.arrow)))
- tail : (append R C (positiveArrow self.arrow) ⋯).RightExtension D
Instances For
Forget the marked first positive letter.
Instances For
The first position created by a positive-boundary extension, retained through its arbitrary tail.
Instances For
The first positive boundary letter is an ordinary arrow from the inherited old endpoint to the new position.
Transporting the source word of a positive-boundary extension preserves its total step count.
Appending any further right extension preserves the marked positive boundary letter.
Instances For
Replaying a positive-boundary extension after another certified base path, while retaining its distinguished first positive arrow.
- result : Word R
- rebased : (ofStringPath basePath hbase).PositiveBoundaryExtension self.result
- path_cast_eq : Quiver.Path.cast ⋯ ⋯ self.result.path = Quiver.Path.comp basePath extension.toRightExtension.suffixPath
Instances For
Construct the positive-boundary replay. Validity of the complete replayed path supplies validity of the first arrow and every later tail prefix by contiguous-subpath heredity.
Instances For
Replaying a positive-boundary extension preserves its total number of letters.