Spatial paths #
Directed trajectories between locations, as finite location sequences — the
spatial analog of temporal intervals, carrying [Zwa05]'s Appendix A path
algebra in discrete form: partial concatenation (defined only head-to-tail),
the subpath order, and endpoint-sharing adjacency ([Kri98]). Zwarts's
own paths are continuous constant-speed curves [0,1] → ℝ³ — mathlib's
topological _root_.Path, whose trans reparametrizes, so the algebra would
need the arc-length quotient there; the paper endorses the constructive
sequence-of-places route as equally compatible with the algebra, and it keeps
every operation computable.
Main declarations #
Path: a directed trajectory —sourceplus latersteps, with endpointPath.goal;Path.constis the constant path, the identity of concatenation and least in the subpath order.Path.IsConcat: concatenation as in [Zwa05]'s (67) —risp + q, defined only whenpends whereqstarts; associative, neither commutative nor idempotent.Path.Subpath: the subpath order of (68) —p ≤ qiffr + p + r′ = qfor somer,r′; equivalently infix-hood of point sequences (Path.subpath_iff_infix), whence a scopedPartialOrder(open scoped Spatial.Path).Path.adjacent: endpoint-sharing spatial adjacency ([Kri98]), the spatial half of the movement relations inStudies/Krifka1998.lean.Path.Directionality: the source/goal/route trichotomy of directional prepositions ([Zwa05]); paired withFeatures.Telicityat use sites — the paper's two independent classificatory axes.
A directed trajectory through space, as the finite sequence of visited
locations. The spatial analog of a temporal NonemptyInterval.
- source : Loc
The starting location p(0).
- steps : List Loc
The later locations, ending at p(1); empty for a constant path.
Instances For
Equations
- Spatial.instDecidableEqPath.decEq { source := a, steps := a_1 } { source := b, steps := b_1 } = if h : a = b then h ▸ if h : a_1 = b_1 then h ▸ isTrue ⋯ else isFalse ⋯ else isFalse ⋯
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Spatial.instReprPath = { reprPrec := Spatial.instReprPath.repr }
The constant path at a location.
Equations
- Spatial.Path.const l = { source := l, steps := [] }
Instances For
Concatenation and subpaths #
r is the concatenation p + q, defined only when p ends where q
starts. Associative, neither commutative nor idempotent.
Equations
Instances For
p is a subpath of q if concatenating some r, r′ around p
yields q.
Equations
- p.Subpath q = ∃ (r : Spatial.Path Loc), ∃ (r' : Spatial.Path Loc), ∃ (m : Spatial.Path Loc), r.IsConcat p m ∧ m.IsConcat r' q
Instances For
The subpath order, as a scoped instance: path sets are also studied
under a rival total lattice sum ([Kri98]'s part structures,
hypothesized as SemilatticeSup (Path Loc) in Events/SpatialTrace.lean).
Activate with open scoped Spatial.Path.
Equations
- Spatial.Path.instSubpathOrder = { le := Spatial.Path.Subpath, le_refl := ⋯, le_trans := ⋯, lt_iff_le_not_ge := ⋯, le_antisymm := ⋯ }
Instances For
Adjacency #
Two paths are adjacent if one's goal is the other's source —
[Kri98]'s spatial adjacency ∞_H, the spatial half of the
movement relations in Studies/Krifka1998.lean.
Instances For
Directionality #
The source/goal/route trichotomy of directional prepositions
([Zwa05]): source prepositions (from, out of) locate the
starting point p(0), goal prepositions (to, into) the endpoint
p(1), route prepositions (over, through, via) an interior point.
Independent of prepositional aspect — to is goal-directed telic,
towards goal-directed atelic — so consumers pair it with
Features.Telicity; the aspect axis is grounded in
Studies/Zwarts2005.lean.
- source : Directionality
- goal : Directionality
- route : Directionality
Instances For
Equations
- Spatial.Path.instDecidableEqDirectionality x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Spatial.Path.instReprDirectionality = { reprPrec := Spatial.Path.instReprDirectionality.repr }