Documentation

Linglib.Syntax.Minimalist.Theta.Basic

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 #

Main statements #

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 #

Whether a role occurrence gives or receives, [ML25]'s marks θ↑ and θ↓.

Instances For
    @[instance_reducible]
    Equations
    Equations
    • One or more equations did not get rendered due to their size.
    Instances For

      A theta role marked as given or received.

      Instances For
        def Minimalist.Theta.instDecidableEqPolarizedRole.decEq (x✝ x✝¹ : PolarizedRole) :
        Decidable (x✝ = x✝¹)
        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

            A grid of giver occurrences, the undischarged residue a predicate carries.

            Equations
            Instances For
              @[simp]
              inductive Minimalist.Theta.Color (L : Type u_2) :
              Type u_2

              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).

              Instances For
                @[instance_reducible]
                instance Minimalist.Theta.instDecidableEqColor {L✝ : Type u_2} [DecidableEq L✝] :
                DecidableEq (Color L✝)
                Equations
                @[instance_reducible]
                instance Minimalist.Theta.instReprColor {L✝ : Type u_2} [Repr L✝] :
                Repr (Color L✝)
                Equations
                def Minimalist.Theta.instReprColor.repr {L✝ : Type u_2} [Repr L✝] :
                Color L✝ → ℕ → Std.Format
                Equations
                • One or more equations did not get rendered due to their size.
                Instances For
                  @[reducible, inline]

                  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
                    Instances For
                      def Minimalist.Theta.Color.grid? {L : Type u_1} :
                      Color L → Option (List PolarizedRole)

                      The grid a color carries, if any; lexical anchoring is transparent to theta structure.

                      Equations
                      Instances For
                        def Minimalist.Theta.Color.Matches {L : Type u_1} (c : Color L) (g : List PolarizedRole) :

                        The color carries exactly the grid g.

                        Equations
                        Instances For
                          @[simp]
                          theorem Minimalist.Theta.Color.matches_free {L : Type u_1} {g h : List PolarizedRole} :
                          (free g).Matches h ↔ g = h
                          @[simp]
                          theorem Minimalist.Theta.Color.matches_lex {L : Type u_1} {α : L} {g h : List PolarizedRole} :
                          (lex α g).Matches h ↔ g = h

                          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.
                          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
                              @[reducible, inline]

                              The complete theta bud system: the theta cherries, with the bare grids initial and the anchored grids and the empty-tree marker terminal.

                              Equations
                              Instances For
                                theorem Minimalist.Theta.IsGen.conservation {L : Type u_1} {hier : ArgumentStructure.ThetaRole → ArgumentStructure.ThetaRole → Prop} {g₀ : List PolarizedRole} {a b : Color L} (h : IsGen hier g₀ a b) :
                                (∃ (ρ : ArgumentStructure.ThetaRole) (g : List ArgumentStructure.ThetaRole), a.Matches [PolarizedRole.down ρ] ∧ b.Matches (upGrid g ++ [PolarizedRole.up ρ]) ∧ (g₀ = upGrid g ∨ g = [])) ∨ a = Color.free g₀ ∧ b = Color.nontheta ∨ g₀ = [] ∧ b = Color.emptyTree

                                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.

                                theorem Minimalist.Theta.IsGen.eq_nil_of_emptyTree {L : Type u_1} {hier : ArgumentStructure.ThetaRole → ArgumentStructure.ThetaRole → Prop} {g₀ : List PolarizedRole} {a b : Color L} (h : IsGen hier g₀ a b) (he : a = Color.emptyTree ∨ b = Color.emptyTree) :
                                g₀ = []

                                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
                                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
                                    @[simp]
                                    theorem Minimalist.Theta.combSpine_nodeLocal {L : Type u_1} {hier : ArgumentStructure.ThetaRole → ArgumentStructure.ThetaRole → Prop} {g : List ArgumentStructure.ThetaRole} (hg : g ≠ []) {rest : List ArgumentStructure.ThetaRole} (hchain : List.IsChain hier (g ++ rest).tail) :
                                    theorem Minimalist.Theta.comb_derivable {L : Type u_1} {hier : ArgumentStructure.ThetaRole → ArgumentStructure.ThetaRole → Prop} (g₀ : List PolarizedRole) (ρE : ArgumentStructure.ThetaRole) (ρIs : List ArgumentStructure.ThetaRole) (hchain : List.IsChain hier ρIs) :
                                    (system hier).Derives (Bud.Tree.leaf (Color.free g₀)) (comb g₀ ρE ρIs)

                                    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.

                                    theorem Minimalist.Theta.combSpine_inputs {L : Type u_1} (g rest : List ArgumentStructure.ThetaRole) :
                                    (combSpine g rest).inputs = List.map (fun (ρ : ArgumentStructure.ThetaRole) => Color.free [PolarizedRole.down ρ]) rest ++ [Color.free (upGrid (g ++ rest))]

                                    The inputs of a comb spine: one receiver per internal role, then the head carrying the accumulated grid.

                                    theorem Minimalist.Theta.comb_inputs {L : Type u_1} (g₀ : List PolarizedRole) (ρE : ArgumentStructure.ThetaRole) (ρIs : List ArgumentStructure.ThetaRole) :
                                    (comb g₀ ρE ρIs).inputs = Color.free [PolarizedRole.down ρE] :: List.map (fun (ρ : ArgumentStructure.ThetaRole) => Color.free [PolarizedRole.down ρ]) ρIs ++ [Color.free (upGrid (ρE :: ρIs))]

                                    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
                                    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
                                        Instances For

                                          The color receives at most one role, its grid having at most one receiver occurrence.

                                          Equations
                                          Instances For
                                            theorem Minimalist.Theta.Color.soleReceiver_of_receiverCount_le {L : Type u_1} {c : Color L} {g : List PolarizedRole} (hc : c.grid? = some g) (hg : receiverCount g ≤ 1) :
                                            theorem Minimalist.Theta.IsGen.soleReceiver {L : Type u_1} {hier : ArgumentStructure.ThetaRole → ArgumentStructure.ThetaRole → Prop} {g₀ : List PolarizedRole} {a b : Color L} (h : IsGen hier g₀ a b) (hc : (Color.free g₀).SoleReceiver) (hb : b ≠ Color.emptyTree) :

                                            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.

                                            theorem Minimalist.Theta.derives_soleReceiver {L : Type u_1} {hier : ArgumentStructure.ThetaRole → ArgumentStructure.ThetaRole → Prop} {c : Color L} {x : Bud.Tree (Color L)} (h : (system hier).Derives (Bud.Tree.leaf c) x) (hroot : c.SoleReceiver) (hmove : Color.emptyTree ∉ x.inputs) (d : Color L) :
                                            d ∈ x.inputs → d.SoleReceiver

                                            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.