The definition is too large to print here; read it in the source.
Docs / Syntax / Minimalist / Probe / Movement
Movement probes
import Linglib.Syntax.Minimalist.Probe.Movement · namespace Minimalist
A head may carry conditions on movement as well as on agreement, each an interaction and a satisfaction specification, a relativized EPP. A movement probe attracts the goal it agrees with to its specifier, and since Merge is binary it attracts at most one: a probe that agrees with two goals attracts neither, the Ban on Multiple Move. On a linearized syntactic object a probe on a head searches the positions the head c-commands, and the goal it attracts is the mover of an Internal Merge step.
Main definitions
Minimalist.Probe.attract: the goal a movement probe attracts.Minimalist.LinearizedSyntacticObject.attractStep?: the Internal Merge a probe on a head triggers. Its domain is the positions the head c-commands, or a part of them such as the nominals.
Main results
Minimalist.Probe.attract_eq_some_iff: a probe attracts the one goal it agrees with.Minimalist.Probe.attract_eq_none_of_ne: the Ban on Multiple Move.Minimalist.LinearizedSyntacticObject.attractStep?_eq_some_iff: the mover of the step is the term at the attracted position.
Implementation notes
Movement is a search of its own, with its own conditions. The movement subfeatures of the
algorithm Probe.Spec.agree implements, which move goals of the agreement search, are not
modelled.
References
- Hammerly & Mathieu 2026, Linking Agreement and Movement: A Case Study of Long-Distance Agreement in Border Lakes Ojibwe formalized
- Coon & Keine 2021, Feature Gluttony formalized
- Deal 2025a, Current models of Agree formalized
Declarations
The goal a movement probe attracts, the one goal it agrees with. Binary Merge cannot move two goals at once (Coon & Keine 2021), and a probe that agrees with several attracts none, the Ban on Multiple Move of Hammerly & Mathieu 2026.
- p.attract s key = if h : ∃! a : α, p.AgreesWith s key a then some (Fintype.choose (p.AgreesWith s key) h) else none
Used by Probe.attract_eq_some_iff, Probe.attract_eq_none_of_ne, LinearizedSyntacticObject.attractStep?, LinearizedSyntacticObject.attractStep?_eq_some_iff
Built from
The Ban on Multiple Move: a probe agreeing with two goals attracts neither.
Built from
The Internal Merge a movement probe searching the positions s of t triggers, those its head
c-commands or a part of them: the term at the goal it attracts re-merges.
- t.attractStep? p s key = Option.map (fun (q : (↑t).Positions) => Step.im (t.termAt q)) (p.attract s key)
Built from
Built from ,