The labeling algorithm #
The labeling algorithm of [Cho13] is minimal search for the head that tells the interfaces
what kind of object a constituent is. A head merged with a phrase labels the result. Two phrases
do not: minimal search finds two heads, and the object is labeled only if one of the phrases
raises, its lower copy being invisible to the search, or if the two heads share an agreed
feature. [MCB25] (Definition 1.15.2) state the algorithm over a partial
head function: label by the head where it is defined, and where a term has raised, by the head of
the object with the lower copy deleted. Here the head function is the selection head selHead
and a lower copy is the trace of a token: it still satisfies the selection of whatever selected
the phrase it copies (traceState), and is otherwise invisible. So the labeling state of a
constituent is its selection state, or a lower copy (LabelState), and the label extends the
selection head (label_eq_of_selHead): a lower copy beside a saturated phrase leaves the phrase
to label their sum (label_merge_traceOf), and two saturated phrases leave it unlabeled
(label_merge_eq_none), the configuration [Cho13] takes to force successive-cyclic
movement.
[MCB25] also require the head function to be raising (Definition 1.15.1):
the object Internal Merge forms is headed by the head of what it raised out of, so the landing site
of a wh-phrase in the specifier of a C is headed by C. The raising head raisingHead reads this
off the finished object: where two phrases merge and the head of one has a lower copy inside the
other, the first has raised out of the second, which projects. It extends the label
(raisingHead_eq_of_label).
Implementation notes #
- The selection head and the label are not raising: they leave a landing site, two saturated phrases, without a head, as [Cho13]'s (21) requires of an intermediate landing site.
- The raising head reads Definition 1.15.1 on the finished object, a lower copy recording the token
that heads the phrase it copies; the phases of
SyntacticObject/Phase.leanare delimited by it.
Main definitions #
Minimalist.LabelState: a selection state or a lower copy, a commutative magma with zero.Minimalist.SyntacticObject.labelCheck,Minimalist.SyntacticObject.label: the labeling state and the label of a syntactic object.Minimalist.RaisingState,Minimalist.SyntacticObject.raisingHead: the raising state and the raising head of a syntactic object.
TODO #
The labeling of two phrases by a feature their heads share, the interrogative feature of an indirect question or the φ-features of subject and predicate, which [Cho13] requires to be agreed rather than merely matched, needs Agree and is not formalized. The trace of a token is the lower copy of the phrase the token heads; a moved head, whose lower copy would still select, is not distinguished.
References #
A constituent's labeling state is its selection state, or a lower copy of the phrase a token heads, which satisfies selection as that phrase and is otherwise invisible to the labeling algorithm.
- sel
(x : SelectionState)
: LabelState
The selection state of a constituent the labeling algorithm sees.
- copy
(tok : LexicalItem.Token)
: LabelState
A lower copy of the phrase
tokheads.
Instances For
Equations
- Minimalist.instDecidableEqLabelState.decEq (Minimalist.LabelState.sel a) (Minimalist.LabelState.sel b) = if h : a = b then h ▸ isTrue ⋯ else isFalse ⋯
- Minimalist.instDecidableEqLabelState.decEq (Minimalist.LabelState.sel x_2) (Minimalist.LabelState.copy tok) = isFalse ⋯
- Minimalist.instDecidableEqLabelState.decEq (Minimalist.LabelState.copy tok) (Minimalist.LabelState.sel x_2) = isFalse ⋯
- Minimalist.instDecidableEqLabelState.decEq (Minimalist.LabelState.copy a) (Minimalist.LabelState.copy b) = if h : a = b then h ▸ isTrue ⋯ else isFalse ⋯
Instances For
Equations
- Minimalist.LabelState.instZero = { zero := Minimalist.LabelState.sel 0 }
A lower copy satisfies the selection of a sister selecting the phrase it copies and is otherwise invisible; two lower copies leave nothing to see.
Equations
- One or more equations did not get rendered due to their size.
Equations
- Minimalist.LabelState.instCommMagma = { toMul := Minimalist.LabelState.instMul, mul_comm := Minimalist.LabelState.instCommMagma._proof_1 }
Equations
- One or more equations did not get rendered due to their size.
The label a labeling state provides is the head of a visible constituent, and none for a lower copy.
Equations
- (Minimalist.LabelState.sel x_1).label = x_1.head
- (Minimalist.LabelState.copy tok).label = none
Instances For
A labeling state never combines with itself.
The label of a labeling product is a factor's label.
Equations
- Minimalist.LabelState.instHead = { head := Minimalist.LabelState.label, head_zero := Minimalist.LabelState.instHead._proof_2, mem_head_or_mem_head_of_mem_head_mul := ⋯ }
A trace's labeling state is the lower copy of the phrase its token heads; the bare trace, which remembers no token and belongs to no chain, keeps its selection state.
Equations
- Minimalist.labelTraceState (some tok) = Minimalist.LabelState.copy tok
- Minimalist.labelTraceState none = Minimalist.LabelState.sel (Minimalist.traceState none)
Instances For
The labeling state of a syntactic object.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The label of a syntactic object, none where the labeling algorithm finds none.
Equations
- s.label = s.labelCheck.label
Instances For
Where the selection head is defined, the labeling algorithm sees the selection state, unless the object is itself a lower copy.
The label extends the selection head: where [MCB25]'s head function is defined, it labels.
A lower copy beside a saturated phrase is invisible, so the phrase labels their sum.
Two saturated phrases leave their sum unlabeled.
The raising head #
The raising state of a constituent pairs its labeling state with the tokens whose lower copies it contains.
- label : LabelState
The labeling state.
- copies : Multiset LexicalItem.Token
The tokens heading the phrases of which the constituent contains a lower copy.
Instances For
Equations
- Minimalist.instDecidableEqRaisingState.decEq { label := a, copies := a_1 } { label := b, copies := b_1 } = if h : a = b then h ▸ if h : a_1 = b_1 then h ▸ isTrue ⋯ else isFalse ⋯ else isFalse ⋯
Instances For
Equations
- Minimalist.RaisingState.instZero = { zero := { label := 0, copies := 0 } }
Under raising, two merged constituents take the labeling product where it is defined, and otherwise the labeling state of the one containing a lower copy of the other's head, since the other raised out of it and it projects.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Minimalist.RaisingState.instMul = { mul := fun (x y : Minimalist.RaisingState) => { label := x.raise y, copies := x.copies + y.copies } }
Equations
- Minimalist.RaisingState.instCommMagma = { toMul := Minimalist.RaisingState.instMul, mul_comm := ⋯ }
The raising head of a product is a factor's raising head.
Equations
- One or more equations did not get rendered due to their size.
A trace's raising state is the lower copy of the phrase its token heads, with the token recorded among the copies; the bare trace remembers no token.
Equations
- Minimalist.raisingTraceState (some tok) = { label := Minimalist.LabelState.copy tok, copies := {tok} }
- Minimalist.raisingTraceState none = { label := Minimalist.LabelState.sel (Minimalist.traceState none), copies := 0 }
Instances For
The raising state of a syntactic object.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The raising head of a syntactic object, [MCB25]'s raising head function: the label where there is one, and at a landing site the head of the phrase moved out of.
Equations
- s.raisingHead = s.raisingCheck.label.label
Instances For
The raising state refines the labeling state.
The raising head extends the label.
raisingCheck as a morphism of magmas.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The raising head of a merge is a daughter's raising head ([MCB25] Lemma 1.13.7).
An object merged with itself has no raising head.