Externalization on the SyntacticObject carrier #
This file defines the selection-induced linearization of syntactic objects ([MCB25] §1.12.1, §1.13): the surface token order obtained by placing the projecting daughter's yield on a language's harmonic head side. Lemma 1.13.5 identifies head functions on a binary tree with its planar embeddings, and Lemma 1.13.7 identifies head functions with bare-phrase-structure projection ([Cho95a]); composed with [Adg03]'s identification of the projecting item as the selecting item (a synthesis step of this formalization, not a claim of the book), c-selection computes the planar order.
Main declarations #
Minimalist.LinearizationState: the value of the book's head function in its two descriptions — the selection state enriched with the yield,0offDom(h); aCommMagmaandMulZeroClassunder theside-indexed Merge-local product.Minimalist.LinearizationState.sel: the projection morphism toSelectionState.Minimalist.SyntacticObject.headHom: the head function as a morphism of magmasSyntacticObject →ₙ* LinearizationState side, refiningselCheckHom.Minimalist.SyntacticObject.linearize,Minimalist.SyntacticObject.phonYield: the yield readout and the pronounced surface forms.
Main results #
Minimalist.SyntacticObject.sel_comp_headHom: fusion — the selection component of the head function's value is the selection check, bySyntacticObject.hom_ext.
Implementation notes #
Head functions are partial ([MCB25] §1.13.2): at exocentric
nodes no daughter projects and no order is determined — the book rejects inducing one
from a total order on labels as "not a realistic linguistic assumption" — so the
state is 0 there, the absorbing element of the book's renormalization reading of
partial head functions. The selection state and the yield are the book's two
descriptions of one head function: eq. (1.13.3) reads h(T) as "a single leaf
(the head)" or as the ordered leaf sequence, "switch[ing] between these two
descriptions without changing the notation". LinearizationState fuses them into
one partial value, making Dom(yield) = Dom(h) true by construction. Naming:
the head-function maps (headHom and the leaf data it lifts) carry the book's
name for h; the value type does not — the book restricts "the term head to
terminal elements" (quoting [Cho95a] §4), and the strict head is
recovered via sel. SyntacticObject.linearize is the harmonic candidate for the
externalization section σ_L, defined on Dom(h) only — the book's σ_L must extend
it noncanonically off Dom(h). Conceptually the yield component is
WithZero (FreeMonoid LIToken): a silent trace is the unit, exocentricity the
absorbing zero, and head-final placement is multiplication in the opposite monoid.
Only the two harmonic sections are realized: uniform head-side placement is right
for head–complement structure but does not model specifier placement (that needs the
headSide : Cat → ConventionDir refinement noted at ConventionDir).
Place the head daughter's yield on the convention side: .initial → head-yield
first, .final → head-yield last.
Equations
- Minimalist.placeYield Minimalist.ConventionDir.initial x✝¹ x✝ = x✝¹ ++ x✝
- Minimalist.placeYield Minimalist.ConventionDir.final x✝¹ x✝ = x✝ ++ x✝¹
Instances For
The linearization state #
The value of the head function in its two descriptions: the projecting head
with its residual stack, enriched with the yield; 0 off Dom(h). The side
parameter is phantom in the carrier — the multiplication reads it.
Instances For
Equations
- Minimalist.instDecidableEqLinearizationState.decEq { toOption := a } { toOption := b } = if h : a = b then h ▸ isTrue ⋯ else isFalse ⋯
Instances For
A defined state: projecting head tok, residual stack stack, yield yld.
Equations
- Minimalist.LinearizationState.of tok stack yld = { toOption := some ((tok, stack), yld) }
Instances For
Merge-local externalization: the selCombine decision places the projecting
daughter's yield on the convention side; 0 is absorbing.
Equations
- One or more equations did not get rendered due to their size.
* on defined states: the canonical accessor.
Equations
- Minimalist.LinearizationState.instCommMagma = { toMul := Minimalist.LinearizationState.instMulZeroClass.toMul, mul_comm := ⋯ }
The projection to the selection state: forgetting the order description.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The yield component: the ordered leaf sequence, none off Dom(h).
Equations
- x.yield = Option.map (fun (x : (Minimalist.LIToken × List Minimalist.Cat) × List Minimalist.LIToken) => x.2) x.toOption
Instances For
Externalization on SyntacticObject #
The head function's value on a syntactic object: the liftFun of pronounced
lexical leaves and the silent, saturated trace.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The head function as a morphism of magmas ([MCB25]
§1.13's algebraic frame): Merge multiplies constituents, h multiplies states.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Fusion: the selection component of the head function's value is the selection
check — two morphisms agreeing on the leaves (hom_ext).
The surface token order under head-side convention side
([MCB25] §1.12.1): the yield readout of the
linearization state. Not a morphism — placing a yield needs the head.
Equations
Instances For
The pronounced surface forms: the yield with unpronounced tokens dropped.
Equations
- Minimalist.SyntacticObject.phonYield side s = Option.map (fun (x : List Minimalist.LIToken) => List.filterMap Minimalist.LIToken.phonForm? x) (Minimalist.SyntacticObject.linearize side s)