Docs / Syntax / Minimalist / Workspace / Merge / MinimalSearch
Minimal Search as a weighting of Merge
import Linglib.Syntax.Minimalist.Workspace.Merge.MinimalSearch · namespace Minimalist.Merge
Marcolli, Chomsky and Berwick implement Minimal Search by weighting the terms of the coproduct
(their §1.5). Extracting an accessible term at distance d from its root costs ε^d, the costs
of simultaneous extractions multiply, and Merge pays the weight of the terms it grafts, their
M^ε_{S,S'} = ⊔ ∘ (B^ε ⊗ id) ∘ δ_{S,S'} ∘ Δ of (1.5.1) and (1.5.2).
The weighted coproduct comulEps ε scales a tree by ε for each level it is moved down on its
way to the left channel. At ε = 1 it is the pruning coproduct, so the weighted Merge
mergeOpEps 1 is Merge at the pruning cuts. At ε = 0 only whole components reach the left
channel and the coproduct is primitive, so mergeOpEps 0 merges two components of the workspace
and nothing else. At every ε, weighted Merge agrees with its value at ε = 0 up to a multiple
of ε, and External and Internal Merge have weight 1 (Proposition 1.5.1): they cost nothing,
every Sideward term costs at least one, and in the limit only External and Internal Merge remain.
Main definitions
Minimalist.Merge.comulEps: the depth-weighted coproduct.Minimalist.Merge.mergeOpEps: Merge weighted by Minimal Search.
Main results
Minimalist.Merge.comulEps_one,comulEps_zero: atε = 1the weighted coproduct is the pruning coproduct, and atε = 0it is the primitive coproduct.Minimalist.Merge.mergeOpEps_pair,mergeOpEps_im_composition: External and Internal Merge have weight1at everyε.Minimalist.Merge.mergeOpEps_eq_add_smul,mergeOpEps_of'_eq_smul_of_not_le: weighted Merge is its value atε = 0plus a multiple ofε, so every form of Sideward Merge is a multiple ofε.Minimalist.Merge.mergeOpEps_zero_of'_of_not_le,mergeOpEps_zero_pair_add: atε = 0, Merge vanishes unless both objects are components, and External Merge survives beside any spectators that do not repeat its objects.
Implementation notes
- The book weights the left channel by
ε^dand the right channel byε^{-d}, and letsB^εread the left weight. In a tensor product overRthe two weights would cancel, so the weight is the coefficient of the left channel only. The book uses the right weight only to compute the costd - d = 0of Internal Merge, which here is the cost0of merging two components. - The unit stage
M_{β,1}grafts nothing and costs nothing (the book's rule 4), so Internal Merge ismergeOpEps ε lbl Q β ∘ mergeOpUnitG cutSummandsN β, as the book writes it in proving Proposition 1.5.1. - The weights are put on the pruning coproduct
Δ^ρ. The book'sΔisΔ^d, which differs fromΔ^ρonly by contracting the unary vertices of the right channel (mergeOp_eq_comp_comulAlgHomN), the channel the weights do not read. - The weights are polynomial in
ε, and the limitε → 0is evaluation atε = 0, the book'sM^ε_{S,S'}|_{ε=0}.
References
- Marcolli et al. 2025, Mathematical Structure of Syntactic Merge: An Algebraic Model for Generative Linguistics formalized
The empty-cut enumeration
The weighted coproduct
The step of the fold computing the weighted coproduct pairs the node rebuilt from its children with its weighted coproduct.
The definition is too large to print here; read it in the source.
Used by comulTreeEps
The depth-weighted coproduct of a tree (Marcolli et al. 2025 §1.5.2), in which an
extraction at distance d from the root has weight ε^d.
- comulTreeEps ε T = (UnorderedTree.fold (comulTreeEpsStep ε) T).2
Built from
Used by comulTreeEps_node, comulEps, comulEps_ofTree, comulTreeEps_zero
The weighted coproduct of a node keeps the node whole, or takes the weighted coproduct of its children with every extracted tree one level further down.
Built from
The depth-weighted coproduct on workspaces.
- comulEps ε = ConnesKreimer.aeval (comulTreeEps ε)
Built from
Used by comulEps_ofTree, comulEps_one, comulEps_zero, comulEps_eq_add_smul, mergeOpEps
Built from ,
At ε = 1 every extraction has weight 1, and the weighted coproduct is the pruning
coproduct.
Built from
At ε = 0 every tree is primitive for the weighted coproduct, since only whole components reach
the left channel.
Built from
At ε = 0 the weighted coproduct is the primitive coproduct.
Built from
The weighted coproduct modulo ε
Every term of the weighted coproduct but those of ε = 0 extracts a tree and so carries a factor
of ε, and every term but T ⊗ 1 has a left factor with fewer vertices than T.
The weighted coproduct agrees with its value at ε = 0 modulo ε.
Built from
Weighted Merge
Merge weighted by Minimal Search (Marcolli et al. 2025 (1.5.1)) grafts each matching term with the weight of its extractions.
- mergeOpEps ε lbl S S' = mergePost lbl S S' ∘ₗ (comulEps ε).toLinearMap
Built from
Used by mergeOpEps_one, mergeOpEps_zero, mergeOpEps_zero_of'_of_not_le, mergeOpEps_zero_ofTree_mul, mergeOpEps_zero_of'_mul, mergeOpEps_zero_pair_add, mergeOpEps_eq_add_smul, mergeOpEps_of'_eq_smul_of_not_le, mergeOpEps_pair, mergeOpEps_im_composition
At ε = 1 weighted Merge is Merge at the pruning cuts.
Built from
At ε = 0 weighted Merge is Merge at the empty-cut enumeration.
Built from
At ε = 0, Merge vanishes on a workspace unless S and S' are both components of it
(Marcolli et al. 2025 Proposition 1.5.1).
Built from
At ε = 0 Merge commutes with a spectator tree U other than S and S', whatever
accessible terms U has.
Built from
At ε = 0 a spectator workspace passes through Merge whenever neither S nor S' is one of
its components.
Built from
External Merge survives at ε = 0 (Marcolli et al. 2025 Proposition 1.5.1), beside
any spectator workspace that does not repeat S or S' as a component.
Built from
Weighted Merge agrees with its value at ε = 0 modulo ε (Marcolli et al. 2025
Proposition 1.5.1).
Built from
Unless S and S' are both workspace components, weighted Merge is a multiple of ε
(Marcolli et al. 2025 Proposition 1.5.1).
Built from
External Merge has weight 1 at every ε (Marcolli et al. 2025
Proposition 1.5.1), since its two objects are taken whole, at no cost.
Built from
Internal Merge has weight 1 at every ε (Marcolli et al. 2025
Proposition 1.5.1), since its unit stage is weightless and its second stage merges two
components.
Built from