Parameters of routes with attached end segments #
Every actual segment parameter is either an unchanged old parameter or a parameter of an attached end segment. The global position is recorded exactly, so contact proofs can recover the original route ends after one or both attachments.
theorem Cslib.Polygonal.Route.attach_eval_cases (a : ℂ) (p : Route) (b : ℂ) (i : Fin ((prepend a p).append b).segments) (t : ℝ) :
(∃ (j : Fin p.segments),
((prepend a p).append b).eval i t = p.eval j t ∧ ((prepend a p).append b).position i t = 1 + p.position j t) ∨ ((prepend a p).append b).eval i t = (AffineMap.lineMap a p.start) t ∧ ((prepend a p).append b).position i t = t ∨ ((prepend a p).append b).eval i t = (AffineMap.lineMap p.finish b) t ∧ ((prepend a p).append b).position i t = ↑p.segments + 1 + t
Attaching both ends retains every old parameter and distinguishes both new segments, even when the new route is closed.