Module docstring
{"# Paths in topological spaces
This file introduces continuous paths and provides API for them.
Main definitions
In this file the unit interval [0, 1] in ℝ is denoted by I, and X is a topological space.
Path x yis the type of paths fromxtoy, i.e., continuous maps fromItoXmapping0toxand1toy.Path.refl x : Path x xis the constant path atx.Path.symm γ : Path y xis the reverse of a pathγ : Path x y.Path.trans γ γ' : Path x zis the concatenation of two pathsγ : Path x y,γ' : Path y z.Path.map γ hf : Path (f x) (f y)is the image ofγ : Path x yunder a continuous mapf.Path.reparam γ f hf hf₀ hf₁ : Path x yis the reparametrisation ofγ : Path x yby a continuous mapf : I → Ifixing0and1.Path.truncate γ t₀ t₁ : Path (γ t₀) (γ t₁)is the path that followsγfromt₀tot₁and stays constant otherwise.Path.extend γ : ℝ → Xis the extensionγtoℝthat is constant before0and after1.
Path x y is equipped with the topology induced by the compact-open topology on C(I,X), and
several of the above constructions are shown to be continuous.
Implementation notes
By default, all paths have I as their source and X as their target, but there is an
operation Set.IccExtend that will extend any continuous map γ : I → X into a continuous map
IccExtend zero_le_one γ : ℝ → X that is constant before 0 and after 1.
This is used to define Path.extend that turns γ : Path x y into a continuous map
γ.extend : ℝ → X whose restriction to I is the original γ, and is equal to x
on (-∞, 0] and to y on [1, +∞).
","### Paths ","#### Space of paths ","#### Product of paths ","#### Pointwise multiplication/addition of two paths in a topological (additive) group ","#### Truncating a path ","#### Reparametrising a path "}