Documentation

Linglib.Syntax.Minimalist.Theta.Basic

Theta theory as a coloring algorithm #

[ML25] implements theta theory in the mathematical model of Minimalism ([MCB25] §3.8) as a coloring algorithm: structures freely formed by Merge are filtered by membership in the language of a bud generating system ([Gir19], Core/Algebra/RootedTree/Bud.lean) 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 node one receiver peels off to the sister position, and the residue continues toward the maximal projection.

Main declarations #

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

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

            The giver occurrence θ↑.

            Equations
            Instances For

              The receiver occurrence θ↓.

              Equations
              Instances For

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

                Equations
                Instances For
                  @[simp]
                  @[simp]
                  theorem Minimalist.Theta.upGrid_append (g h : List ThetaRole) :
                  upGrid (g ++ h) = upGrid g ++ upGrid h
                  inductive Minimalist.Theta.Color (L : Type u_2) :
                  Type u_2

                  The color set: a bare grid (nonterminal; the empty grid is 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

                        Terminal colors: lexically anchored grids and the empty-tree marker.

                        Equations
                        Instances For
                          def Minimalist.Theta.Color.grid? {L : Type u_1} :
                          Color LOption (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
                              inductive Minimalist.Theta.IsGen {L : Type u_1} (hier : ThetaRoleThetaRoleProp) :
                              List PolarizedRoleColor LColor LProp

                              The generator shapes of the theta bud system, as a relation between the root grid and the two children's colors (children unordered; the rule set closes under swapping). 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 attaches under a non-theta root.
                              Instances For
                                def Minimalist.Theta.gen {L : Type u_1} (c a b : Color L) :

                                A one-node colored operation.

                                Equations
                                Instances For
                                  def Minimalist.Theta.rules {L : Type u_1} (hier : ThetaRoleThetaRoleProp) :
                                  Set (Bud.Tree (Color L))

                                  The rule set: the generator shapes in either orientation, rooted at a nonterminal color.

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

                                    The complete theta bud system.

                                    Equations
                                    Instances For
                                      theorem Minimalist.Theta.IsGen.conservation {L : Type u_1} {hier : ThetaRoleThetaRoleProp} {g₀ : List PolarizedRole} {a b : Color L} (h : IsGen hier g₀ a b) :
                                      (∃ (ρ : ThetaRole) (g : List 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.

                                      def Minimalist.Theta.ThetaLocal {L : Type u_1} (hier : ThetaRoleThetaRoleProp) (c a b : Color L) :

                                      The vertex-local law of the theta system: the vertex is a generator instance in some orientation.

                                      Equations
                                      • One or more equations did not get rendered due to their size.
                                      Instances For
                                        theorem Minimalist.Theta.rules_nodeLocal {L : Type u_1} {hier : ThetaRoleThetaRoleProp} {r : Bud.Tree (Color L)} (hr : r rules hier) :
                                        theorem Minimalist.Theta.derives_thetaLocal {L : Type u_1} {hier : ThetaRoleThetaRoleProp} {c : Color L} {x : Bud.Tree (Color L)} (h : (system hier).Derives c x) :

                                        Every vertex of every derivable structure is a generator instance: filtering by the coloring rules is checkable vertex-locally, the engine of [ML25]'s recursive theta criterion.

                                        theorem Minimalist.Theta.rules_emptyTree_out {L : Type u_1} {hier : ThetaRoleThetaRoleProp} {r : Bud.Tree (Color L)} (hr : r rules hier) (h : Color.emptyTree r.inputs) :

                                        Movement lands only in non-theta positions: a generator with an empty-tree input has the non-theta output. The External/Internal Merge dichotomy of theta theory, derived from the generator shapes.

                                        def Minimalist.Theta.combSpine {L : Type u_1} (g : List ThetaRole) :
                                        List ThetaRoleBud.Tree (Color L)

                                        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
                                          def Minimalist.Theta.comb {L : Type u_1} (g₀ : List PolarizedRole) (ρE : ThetaRole) (ρIs : List ThetaRole) :

                                          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
                                            theorem Minimalist.Theta.combSpine_derivable {L : Type u_1} {hier : ThetaRoleThetaRoleProp} (g : List ThetaRole) (hg : g []) (rest : List ThetaRole) (hchain : List.IsChain hier (g ++ rest).tail) :
                                            (system hier).Derives (Color.free (upGrid g)) (combSpine g rest)
                                            theorem Minimalist.Theta.comb_derivable {L : Type u_1} {hier : ThetaRoleThetaRoleProp} (g₀ : List PolarizedRole) (ρE : ThetaRole) (ρIs : List ThetaRole) (hchain : List.IsChain hier ρIs) :
                                            (system hier).Derives (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 ThetaRole) :
                                            (combSpine g rest).inputs = List.map (fun (ρ : 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 : ThetaRole) (ρIs : List ThetaRole) :
                                            (comb g₀ ρE ρIs).inputs = Color.free [PolarizedRole.down ρE] :: List.map (fun (ρ : 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, since the trees are nonplanar.

                                              Equations
                                              • One or more equations did not get rendered due to their size.
                                              Instances For
                                                theorem Minimalist.Theta.comb_satisfiesCriterion {L : Type u_1} (g₀ : List PolarizedRole) (ρE : ThetaRole) (ρIs : List ThetaRole) :
                                                SatisfiesCriterion (comb g₀ ρE ρIs)

                                                The bare theta combs satisfy the theta criterion: the head's grid is matched exactly by the receivers at the other positions.

                                                The sole-role invariant #

                                                The number of receiver occurrences in a grid.

                                                Equations
                                                Instances For

                                                  The color receives at most one role: its grid, if any, has at most one receiver occurrence.

                                                  Equations
                                                  Instances For
                                                    theorem Minimalist.Theta.derives_soleReceiver {L : Type u_1} {hier : ThetaRoleThetaRoleProp} {c : Color L} {x : Bud.Tree (Color L)} (h : (system hier).Derives c x) (hroot : c.SoleReceiver) (hmove : Color.emptyTreex.inputs) (d : Color L) :
                                                    d x.inputsd.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.