Theta theory as a coloring algorithm #
Marcolli and Larson implement theta theory in the mathematical model of Minimalism as a coloring algorithm: structures freely formed by Merge are filtered by membership in the language of a bud generating system whose colors are theta grids, tuples of giver- or receiver-marked roles, and whose generators are the local theta-discharge configurations. A grid injected at a predicate's leaf propagates up the tree like a conserved quantity: at each generator one receiver peels off to the sister position, and the residue continues toward the maximal projection.
Main definitions #
PolarizedRole,Color: giver- and receiver-marked roles, and the colors, which are bare grids (nonterminal; the empty grid marks a non-theta position), lexically anchored grids (terminal), and the empty-tree marker.IsGen,ThetaLocal,system: the generator shapes, the cherries they license, and the complete theta bud system.comb: the bare theta combs, a complete grid discharged one role per vertex.SatisfiesCriterion: the theta criterion on a colored operation.
Main statements #
IsGen.conservation: each generator conserves theta roles.ThetaLocal.eq_nontheta: movement lands only in non-theta positions.comb_derivable: the bare combs are derivable in the complete system.derives_soleReceiver: in a movement-free derivable structure with a sole-receiver root, every position receives at most one role.
Implementation notes #
The trees are planar, so each generator shape licenses its children in either order, and the theta criterion compares received roles with the head's grid as multisets.
References #
Equations
- Minimalist.Theta.instDecidableEqPolarity x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- Minimalist.Theta.instReprPolarity = { reprPrec := Minimalist.Theta.instReprPolarity.repr }
Equations
- One or more equations did not get rendered due to their size.
Instances For
A theta role marked as given or received.
- role : ArgumentStructure.ThetaRole
- polarity : Polarity
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
The giver occurrence θ↑.
Equations
- Minimalist.Theta.PolarizedRole.up ρ = { role := ρ, polarity := Minimalist.Theta.Polarity.giver }
Instances For
The receiver occurrence θ↓.
Equations
- Minimalist.Theta.PolarizedRole.down ρ = { role := ρ, polarity := Minimalist.Theta.Polarity.receiver }
Instances For
A grid of giver occurrences, the undischarged residue a predicate carries.
Equations
- Minimalist.Theta.upGrid g = List.map Minimalist.Theta.PolarizedRole.up g
Instances For
A color is a bare grid (nonterminal, the empty grid being the non-theta marker θ0), a
lexically anchored grid (terminal), or the empty-tree marker (1, θ0).
- free {L : Type u_2} (g : List PolarizedRole) : Color L
- lex {L : Type u_2} (item : L) (g : List PolarizedRole) : Color L
- emptyTree {L : Type u_2} : Color L
Instances For
Equations
- One or more equations did not get rendered due to their size.
- Minimalist.Theta.instDecidableEqColor.decEq (Minimalist.Theta.Color.free a) (Minimalist.Theta.Color.free b) = if h : a = b then h ▸ isTrue ⋯ else isFalse ⋯
- Minimalist.Theta.instDecidableEqColor.decEq (Minimalist.Theta.Color.free g) (Minimalist.Theta.Color.lex item g_1) = isFalse ⋯
- Minimalist.Theta.instDecidableEqColor.decEq (Minimalist.Theta.Color.free g) Minimalist.Theta.Color.emptyTree = isFalse ⋯
- Minimalist.Theta.instDecidableEqColor.decEq (Minimalist.Theta.Color.lex item g) (Minimalist.Theta.Color.free g_1) = isFalse ⋯
- Minimalist.Theta.instDecidableEqColor.decEq (Minimalist.Theta.Color.lex item g) Minimalist.Theta.Color.emptyTree = isFalse ⋯
- Minimalist.Theta.instDecidableEqColor.decEq Minimalist.Theta.Color.emptyTree (Minimalist.Theta.Color.free g) = isFalse ⋯
- Minimalist.Theta.instDecidableEqColor.decEq Minimalist.Theta.Color.emptyTree (Minimalist.Theta.Color.lex item g) = isFalse ⋯
- Minimalist.Theta.instDecidableEqColor.decEq Minimalist.Theta.Color.emptyTree Minimalist.Theta.Color.emptyTree = isTrue ⋯
Instances For
Equations
- Minimalist.Theta.instReprColor = { reprPrec := Minimalist.Theta.instReprColor.repr }
Equations
- One or more equations did not get rendered due to their size.
Instances For
The non-theta marker θ0, the empty grid.
Equations
Instances For
The terminal colors are the lexically anchored grids and the empty-tree marker.
Equations
- (Minimalist.Theta.Color.free g).IsTerminal = False
- (Minimalist.Theta.Color.lex item g).IsTerminal = True
- Minimalist.Theta.Color.emptyTree.IsTerminal = True
Instances For
The grid a color carries, if any; lexical anchoring is transparent to theta structure.
Equations
- (Minimalist.Theta.Color.free g).grid? = some g
- (Minimalist.Theta.Color.lex item g).grid? = some g
- Minimalist.Theta.Color.emptyTree.grid? = none
Instances For
The color carries exactly the grid g.
Instances For
The generator shapes of the theta bud system, as a relation between the root grid and the two children's colors. The four cases are [ML25]'s complete-system generators:
close: the external role discharges and the maximal projection is recolored arbitrarily;discharge: one internal role, next in the hierarchy, peels off to the sister while the residue propagates;adjunct: a non-theta position attaches without disturbing the color;move: a movement landing site, the empty-tree marker attached under a non-theta root.
- close {L : Type u_1} {hier : ArgumentStructure.ThetaRole → ArgumentStructure.ThetaRole → Prop} (g₀ : List PolarizedRole) (ρE : ArgumentStructure.ThetaRole) {a b : Color L} (ha : a.Matches [PolarizedRole.down ρE]) (hb : b.Matches [PolarizedRole.up ρE]) : IsGen hier g₀ a b
- discharge {L : Type u_1} {hier : ArgumentStructure.ThetaRole → ArgumentStructure.ThetaRole → Prop} (g : List ArgumentStructure.ThetaRole) (ρ : ArgumentStructure.ThetaRole) (hg : g ≠ []) (hchain : List.IsChain hier (g ++ [ρ]).tail) {a b : Color L} (ha : a.Matches [PolarizedRole.down ρ]) (hb : b.Matches (upGrid (g ++ [ρ]))) : IsGen hier (upGrid g) a b
- adjunct {L : Type u_1} {hier : ArgumentStructure.ThetaRole → ArgumentStructure.ThetaRole → Prop} (g₀ : List PolarizedRole) : IsGen hier g₀ (Color.free g₀) Color.nontheta
- move {L : Type u_1} {hier : ArgumentStructure.ThetaRole → ArgumentStructure.ThetaRole → Prop} (c' : Color L) (hc' : c' ≠ Color.emptyTree) : IsGen hier [] c' Color.emptyTree
Instances For
The cherries of the theta bud system: a bare grid at the root over children forming a generator in either order, [ML25]'s compatibility relation for colored Merge.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The complete theta bud system: the theta cherries, with the bare grids initial and the anchored grids and the empty-tree marker terminal.
Equations
- Minimalist.Theta.system hier = Bud.System.ofCherries (Minimalist.Theta.ThetaLocal hier) {c : Minimalist.Theta.Color L | ¬c.IsTerminal} {c : Minimalist.Theta.Color L | c.IsTerminal}
Instances For
The local conservation law: at every generator, either one child receives the last role of the other child's giver grid while the root keeps the residue, or the node is an adjunct attachment, or a movement landing under a non-theta root.
Movement lands only in non-theta positions: a generator with an empty-tree child has the non-theta root. The External/Internal Merge dichotomy of theta theory, at generator level.
The spine of a bare theta comb: the residue grid grows by one role per node on the path to the head leaf, which carries the complete grid.
Equations
- One or more equations did not get rendered due to their size.
- Minimalist.Theta.combSpine g [] = Bud.Tree.leaf (Minimalist.Theta.Color.free (Minimalist.Theta.upGrid g))
Instances For
A bare theta comb ([ML25]'s bare-system generators): an external role, hierarchy-ordered internal roles, one receiver per node, the full giver grid at the head leaf, and an arbitrary root recoloring.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The bare theta combs are derivable in the complete system, provided the internal roles descend the hierarchy: the generator half of [ML25]'s reduction of the bare system to the complete one.
The inputs of a comb spine: one receiver per internal role, then the head carrying the accumulated grid.
The inputs of a comb: the external receiver, one receiver per internal role, and the head carrying the complete grid.
The theta criterion #
The role a color receives, when it is a single receiver.
Equations
- c.receiver? = match c.grid? with | some [{ role := ρ, polarity := Minimalist.Theta.Polarity.receiver }] => some ρ | x => none
Instances For
The theta criterion on a colored operation. Some input, the head, carries an all-giver grid, every other input is a single receiver, and the received roles match the head's grid bijectively, as multisets.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The bare theta combs satisfy the theta criterion.
The sole-role invariant #
The number of receiver occurrences in a grid.
Equations
- Minimalist.Theta.receiverCount g = List.countP (fun (p : Minimalist.Theta.PolarizedRole) => p.polarity == Minimalist.Theta.Polarity.receiver) g
Instances For
The color receives at most one role, its grid having at most one receiver occurrence.
Equations
- c.SoleReceiver = ∀ (g : List Minimalist.Theta.PolarizedRole), c.grid? = some g → Minimalist.Theta.receiverCount g ≤ 1
Instances For
A generator passes a sole receiver at its root down to its children, unless the second child is a movement landing site.
In a theta structure, only a leaf can carry the empty-tree marker.
The sole-role invariant: in a movement-free derivable structure whose root color receives at most one role, every argument position receives at most one role. Adding a dual-receiver generator, as se-marked parasitic assignment does, is the only way to violate it.