Piecewise-linear paths up to reparametrization #
Littelmann's path model works with piecewise-linear paths Ο : [0, 1] β V starting at Ο 0 = 0
in a vector space V over an ordered field π (the weight space X β β or X β β of a root
datum), identified up to nondecreasing surjective piecewise-linear reparametrization. A finite
presentation of such a path is a subdivision 0 = tβ β€ tβ β€ β― β€ tβ = 1 on whose pieces Ο is
affine; it is recorded by its list of segments [vβ, β¦, vβ], vβ = Ο tβ - Ο tβββ. The lengths
tβ - tβββ are not recorded, since a reparametrization can change them at will. Two elementary
moves change a presentation but are meant not to change the path it presents:
- a merge
[β¦, v, w, β¦] β¦ [β¦, v + w, β¦]of two adjacent segments pointing in the same direction (SameRay π v w), whose inverse subdivides a segment; - the removal
[β¦, 0, β¦] β¦ [β¦, β¦]of a stationary segment.
This file develops these presentations and their normal form. The algorithm
TauCeti.PLPath.normalize removes the stationary segments and merges adjacent segments pointing
in the same direction, using only the vector-space operations of V (so a presentation over β
stays over β; no Euclidean arc length is involved). Its output is reduced, and two segment lists
have the same normal form exactly when they are related by the elementary moves. The type
TauCeti.PLPath π V models paths by reduced segment lists, with Littelmann's concatenation
Οβ * Οβ as a monoid structure, the endpoint Ο 1, and the reversed path t β¦ Ο (1 - t) - Ο 1.
This file works with segment lists only. The parametrized paths π β V of presentations with
durations (running over [0, duration p]), and the theorem that two presentations are
reparametrizations of a common one exactly when their normal forms agree, are in
TauCeti/RepresentationTheory/LSPath/Reparametrization.lean.
Main definitions #
TauCeti.PLPath.normalize: the normal form of a segment list, computed byTauCeti.PLPath.consMerge.TauCeti.PLPath.IsReduced: a segment list with no stationary segment and no two adjacent segments pointing in the same direction.TauCeti.PLPath.Move: the elementary moves between segment lists.TauCeti.PLPath: the model of piecewise-linear paths up to reparametrization by reduced segment lists.TauCeti.PLPath.ofSegments: the path presented by a segment list.TauCeti.PLPath.endpoint,TauCeti.PLPath.reverse,TauCeti.PLPath.straight: the endpoint, the reversed path and the straight patht β¦ t β’ v.TauCeti.PLPath.map: the linear image of a path, allowing collapsed segments.
Main results #
TauCeti.PLPath.normalize_eq_self_iff: a segment list is its own normal form exactly when it is reduced.TauCeti.PLPath.normalize_eq_normalize_iff,TauCeti.PLPath.ofSegments_eq_ofSegments_iff: two segment lists have the same normal form, that is define the sameTauCeti.PLPath, exactly when they are related by the elementary moves.TauCeti.PLPath.ofSegments_append: concatenation of presentations presents the product.TauCeti.PLPath.endpoint_mul,TauCeti.PLPath.reverse_mul,TauCeti.PLPath.reverse_reverse: the endpoint is additive and reversal is an involutive anti-automorphism.TauCeti.PLPath.straight_add: a straight path alongv + w, forvandwin the same ray, is the concatenation of the straight paths alongvand alongw.TauCeti.PLPath.straight_smul_mul_straight_smul,TauCeti.PLPath.ofSegments_smul_cons_smul_cons: subdividing a straight path, or a segment of a segment list, along a ray.TauCeti.PLPath.ofSegments_append_cut_eq: cutting a segment at a fractionΞΈ β [0, 1], in the middle of a segment list, does not change the presented path.TauCeti.PLPath.ofSegments_div_smul_cons_sub_div_smul_cons: subdividing a segment of a segment list at a fractiond / ewith0 β€ d β€ e.
References #
- P. Littelmann, A Littlewood-Richardson rule for symmetrizable Kac-Moody algebras, Invent. Math. 116 (1994), Β§1.
- P. Littelmann, Paths and root operators in representation theory, Ann. of Math. 142 (1995), Β§1.
The normalization algorithm #
Prepend the segment v to the segment list l, merging it into the first segment of l when
the two point in the same direction, and dropping it when v = 0 and l is empty. This is the
single step of TauCeti.PLPath.normalize.
Instances For
The normal form of a segment list: the stationary segments are removed and adjacent segments
pointing in the same direction are merged, by prepending the segments one at a time with
TauCeti.PLPath.consMerge.
Instances For
A segment list is reduced if it has no stationary (zero) segment and no two adjacent segments
point in the same direction. Reduced lists are the normal forms of
TauCeti.PLPath.normalize.
No segment is stationary.
- isChain : List.IsChain (fun (v w : V) => Β¬SameRay π v w) l
No two adjacent segments point in the same direction.
Instances For
The elementary moves between segment lists, which change the presentation of a path but are meant not to change the path: merging two adjacent segments in the same ray (the inverse of subdividing a segment), and removing a stationary segment.
- merge
{π : Type u}
{V : Type v}
[Field π]
[PartialOrder π]
[IsStrictOrderedRing π]
[AddCommGroup V]
[Module π V]
(lβ lβ : List V)
{v w : V}
: SameRay π v w β Move π (lβ ++ v :: w :: lβ) (lβ ++ (v + w) :: lβ)
Merge two adjacent segments pointing in the same direction.
- erase_zero
{π : Type u}
{V : Type v}
[Field π]
[PartialOrder π]
[IsStrictOrderedRing π]
[AddCommGroup V]
[Module π V]
(lβ lβ : List V)
: Move π (lβ ++ 0 :: lβ) (lβ ++ lβ)
Remove a stationary segment.
Instances For
Prepending two segments in the same ray one after the other is the same as prepending their sum.
Prepending a segment with TauCeti.PLPath.consMerge adds it to the endpoint.
Normalization preserves the endpoint vβ + β― + vβ of a presentation.
The normal form of a segment list is empty exactly when every segment is stationary.
Reduced segment lists #
Normalization only merges segments in the same ray and drops stationary ones. So if a set T
contains v + w for all v, w β T in the same ray, and contains every nonstationary segment of
l, then it contains every segment of normalize π l.
A segment list is its own normal form exactly when it is reduced.
Reversing the order of the segments and negating them preserves reducedness.
Elementary moves #
An elementary move does not change the normal form.
Prepending a segment with TauCeti.PLPath.consMerge is a sequence of elementary moves.
Every segment list is connected to its normal form by elementary moves.
Two segment lists have the same normal form exactly when they are related by elementary moves: the normal form is a complete invariant for the elementary moves.
A model of piecewise-linear paths Ο : [0, 1] β V with Ο 0 = 0, up to nondecreasing
surjective piecewise-linear reparametrization, by reduced segment lists: a path is meant to be
recorded by the successive displacements along its maximal straight pieces. See
TauCeti.PLPath.ofSegments for the path presented by an arbitrary segment list, and
TauCeti.PLPath.ofSegments_map_snd_eq_iff_exists_isReparam for the comparison with parametrized
paths.
- segments : List V
The segments of the path, in order.
The segment list is reduced.
Instances For
Paths presented by segment lists #
The path presented by a segment list: it traverses the segments in order.
Instances For
The straight path t β¦ t β’ v.
Instances For
Two segment lists define the same TauCeti.PLPath, that is have the same normal form, exactly
when they are related by elementary moves.
Concatenation #
The constant path at 0.
Littelmann's concatenation Οβ * Οβ: traverse Οβ, then the translate of Οβ by the endpoint
of Οβ.
A segment list presents the constant path exactly when every segment is stationary.
A path presented by v :: l is the straight path along v followed by the path presented by
l.
A stationary first segment does not change the presented path.
Every path is the concatenation of the straight paths along its segments.
The endpoint #
The endpoint Ο 1 of a path, the sum of its segments.
Instances For
Reversal #
The reversed path t β¦ Ο (1 - t) - Ο 1: its segments are those of Ο, negated and in the
opposite order.
Instances For
Straight paths #
Subdivision: the straight path along v + w, for v and w in the same ray, is the straight
path along v followed by the straight path along w.
Subdivision along a ray: for 0 β€ a and 0 β€ b, the straight path along a β’ w followed by
the straight path along b β’ w is the straight path along (a + b) β’ w.
A straight path along a natural multiple is the concatenation power of the original straight path.
Subdividing a segment along its ray does not change the presented path: for 0 β€ a and
0 β€ b, the segments a β’ w and b β’ w present the same path as the single segment
(a + b) β’ w.
Cutting a segment v of a path at the fraction ΞΈ β [0, 1], in the middle of the segments
a ++ m ++ v :: r, does not change the path presented by the segments.
Subdividing a segment w at the fraction d / e, for 0 β€ d β€ e and 0 < e, into the
segments (d / e) β’ w and ((e - d) / e) β’ w does not change the presented path.
Linear images #
Taking a linear image preserves elementary path moves, including when segments collapse.
Normalizing a presentation before taking its linear image does not change the path.
The linear image of a piecewise-linear path, with any collapsed segments removed.
Instances For
A linear image can be computed on any segment presentation.
Linear images respect composition.
Linear images preserve concatenation.
Linear images commute with reversal.