Documentation

Linglib.Syntax.ConstructionGrammar.Basic

Construction Grammar: Core Types #

[Gol95] [Gol03] [Gol06] [KF99] [Dun25]

Constructions — learned pairings of form and function — are the basic units of grammatical knowledge in CxG. The form side is typed: a TypedForm is a sequence of Slots, each fixing a lexeme, opening a category, or admitting any phrase ([Dun25]'s LEX/SYN/SEM+ representation levels, plus [KF99]'s grammatical functions, coreference indices, and slot constraints). Abstraction measures and Specificity are derived from the slot structure (Construction.specificity), not stipulated.

A slot also records the bar level of its position; a phrasal filler in a zero-level position (Slot.IsPhraseInWordSlot) is the phrase-in-word-slot configuration of phrasal compounds and the PAL construction.

Main declarations #

How specified a construction's form side is ([Gol03]:220, Table 8).

SpecificityExample
lexicallySpecified"veggie-wrap", "must-read"
partiallyOpen"N-wrap", "a simple ⟨PAL⟩"
fullyAbstract[N⁰ N⁰ N⁰], [N′ PAL⁰ N]
Instances For
    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      @[implicit_reducible]
      Equations

      Mode of information transfer in an inheritance link ([Gol95] §3.3.1, p. 73–74).

      [Gol95] distinguishes two modes, orthogonal to link type:

      • Normal: child inherits defaults from parent but may override them. Allows subregularities and exceptions. The only mode used in [Gol95]'s system.
      • Complete: all information from dominating nodes is inherited strictly; no conflicts allowed. The mode "normally assumed in unification-based grammars" (p. 74, citing Kay 1984 and Fillmore & Kay 1993); the normal/complete distinction follows Flickinger, Pollard & Wasow (1985). Not exploited in [Gol95]'s constructional analysis.

      Computational semantics for both modes: ConstructionGrammar.Inheritance.

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

          Type of semantic relation in an inheritance link ([Gol95] §3.3.2, p. 75).

          [Gol95] distinguishes four major link types:

          • I_P (Polysemy): relates the central sense of a construction to its extensions. Each extension inherits syntax but differs in meaning (e.g., the six senses of the ditransitive, pp. 75–77).
          • I_M (Metaphorical extension): source and target related by systematic metaphor (e.g., caused-motion → resultative via the motion→change metaphor, p. 81).
          • I_S (Subpart): one construction is a proper subpart of another (e.g., intransitive motion is a subpart of caused-motion, p. 78).
          • I_I (Instance): one construction is a more fully specified version of another (e.g., drive-crazy is an instance of the resultative, p. 79).
          Instances For
            Equations
            • One or more equations did not get rendered due to their size.
            Instances For
              @[implicit_reducible]
              Equations

              X-bar level of a syntactic position or constructional output.

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

                  Typed slots #

                  [Dun25] distinguishes three representation levels for slot content — LEX (a fixed lexeme), SYN (any word of a category), SEM+ (any expression meeting a semantic constraint) — and [KF99] add headed phrases, grammatical functions, coreference indices, and syntactic constraints. The phrasal filler (any phrase, no fixed head) is the filler type of phrasal compounds and PAL constructions.

                  inductive ConstructionGrammar.SlotFiller (Lex : Type u_1) :
                  Type u_1

                  A slot's filler: the representation level of slot content.

                  Parameterized over Lex (the lexeme type) so the same representation works for strings, morphemes, or phonological forms.

                  • fixed {Lex : Type u_1} : LexSlotFiller Lex

                    A specific word form (LEX level): fixed "must"

                  • open_ {Lex : Type u_1} : UD.UPOSSlotFiller Lex

                    Any word of a given POS category (SYN level): open_ .VERB

                  • headed {Lex : Type u_1} : LexUD.UPOSSlotFiller Lex

                    A phrase headed by a specific lexeme ([KF99]): headed "doing" .VERB is a VP headed by doing. LEX-level — the head lexeme is fixed even though the phrase is open.

                  • semantic {Lex : Type u_1} : StringSlotFiller Lex

                    A semantically constrained slot ([Dun25], SEM+ level): semantic "animate" is any expression denoting an animate.

                  • phrasal {Lex : Type u_1} : SlotFiller Lex

                    Any phrase, with no fixed head and no category restriction on its internal structure — the filler of a phrasal-compound or PAL slot (the ⟨phrase⟩ node of [GS25]'s Figure 5).

                  Instances For
                    def ConstructionGrammar.instDecidableEqSlotFiller.decEq {Lex✝ : Type u_1} [DecidableEq Lex✝] (x✝ x✝¹ : SlotFiller Lex✝) :
                    Decidable (x✝ = x✝¹)
                    Equations
                    Instances For
                      @[implicit_reducible]
                      instance ConstructionGrammar.instReprSlotFiller {Lex✝ : Type u_1} [Repr Lex✝] :
                      Repr (SlotFiller Lex✝)
                      Equations
                      def ConstructionGrammar.instReprSlotFiller.repr {Lex✝ : Type u_1} [Repr Lex✝] :
                      SlotFiller Lex✝Std.Format
                      Equations
                      • One or more equations did not get rendered due to their size.
                      Instances For

                        Is this slot open (not lexically anchored)?

                        open_ (SYN), semantic (SEM+), and phrasal slots count as open for abstraction-level computation. headed slots do not: they fix the head lexeme even though the phrase is open.

                        Equations
                        Instances For

                          Grammatical function of a valence member ([KF99], Figure 12). Distinct from semantic role: a subject (gf) can be an agent, theme, or experiencer (role).

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

                              Referential index for cross-slot coreference constraints. Slots sharing a RefIndex have unified semantic values ([KF99]'s #1, #2).

                              Equations
                              Instances For

                                Syntactic constraint on a slot ([KF99], Figure 12).

                                Instances For
                                  @[implicit_reducible]
                                  Equations
                                  Equations
                                  • One or more equations did not get rendered due to their size.
                                  Instances For
                                    structure ConstructionGrammar.Slot (Lex : Type u_1) :
                                    Type u_1

                                    A slot in a construction's form: filler content, semantic role, headedness, and the bar level of the position itself. Fixed slots (like "let" in let alone) have role := none since they carry no independent semantic role. level := none leaves the position's bar level unspecified.

                                    • filler : SlotFiller Lex

                                      What fills this slot

                                    • role : Option String

                                      Semantic role label (agent, theme, etc.), if any

                                    • isHead : Bool

                                      Whether this slot is the head of the construction

                                    • level : Option BarLevel

                                      Bar level of the position (some .zero = a word-level slot)

                                    • gf : Option GramFunction

                                      Grammatical function (subj, comp, obj, pred) — [KF99]

                                    • refIdx : Option RefIndex

                                      Coreference index: slots sharing an index have unified semantics

                                    • constraints : List SlotConstraint

                                      Syntactic constraints on this slot ([loc -], [neg -], [ref ∅])

                                    Instances For
                                      @[implicit_reducible]
                                      instance ConstructionGrammar.instDecidableEqSlot {Lex✝ : Type u_1} [DecidableEq Lex✝] :
                                      DecidableEq (Slot Lex✝)
                                      Equations
                                      def ConstructionGrammar.instDecidableEqSlot.decEq {Lex✝ : Type u_1} [DecidableEq Lex✝] (x✝ x✝¹ : Slot Lex✝) :
                                      Decidable (x✝ = x✝¹)
                                      Equations
                                      • One or more equations did not get rendered due to their size.
                                      Instances For
                                        @[implicit_reducible]
                                        instance ConstructionGrammar.instReprSlot {Lex✝ : Type u_1} [Repr Lex✝] :
                                        Repr (Slot Lex✝)
                                        Equations
                                        def ConstructionGrammar.instReprSlot.repr {Lex✝ : Type u_1} [Repr Lex✝] :
                                        Slot Lex✝Std.Format
                                        Equations
                                        • One or more equations did not get rendered due to their size.
                                        Instances For
                                          @[reducible, inline]
                                          abbrev ConstructionGrammar.TypedForm (Lex : Type u_1) :
                                          Type u_1

                                          A typed form: the form side of a construction as a sequence of slots.

                                          Equations
                                          Instances For

                                            A phrase in a word-level slot: phrasal filler, zero-level position. The defining configuration of phrasal compounds and the PAL construction ([GS25]) — and the cell lexical-integrity hypotheses rule out.

                                            Equations
                                            Instances For

                                              Abstraction level and derived specificity #

                                              def ConstructionGrammar.abstractionLevel {Lex : Type u_1} (form : TypedForm Lex) :

                                              Proportion of open slots: a continuous [0,1] measure of abstraction.

                                              [Dun25] defines four discrete abstraction orders based on which representation levels appear; this computes the continuous proportion underlying those orders, and derivedSpecificity maps to the three-way Specificity enum.

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

                                                Derive Specificity from the slot structure.

                                                ConditionResult
                                                All slots open.fullyAbstract
                                                No slots open.lexicallySpecified
                                                Mix of fixed and open.partiallyOpen

                                                Changing a slot from open to fixed automatically changes the specificity.

                                                Equations
                                                • One or more equations did not get rendered due to their size.
                                                Instances For
                                                  def ConstructionGrammar.hasConstraint {Lex : Type u_1} (form : TypedForm Lex) (c : SlotConstraint) :
                                                  Bool

                                                  Does any slot in the form bear a given constraint?

                                                  Equations
                                                  Instances For
                                                    def ConstructionGrammar.refGroupCount {Lex : Type u_1} (form : TypedForm Lex) :

                                                    Count of distinct coreference groups in a form.

                                                    Equations
                                                    Instances For

                                                      Characterization lemmas #

                                                      A form is fully abstract exactly when every slot is open (vacuously so for the empty form).

                                                      theorem ConstructionGrammar.derivedSpecificity_eq_lexicallySpecified_iff {Lex : Type u_1} (form : TypedForm Lex) :
                                                      derivedSpecificity form = Specificity.lexicallySpecified form [] sform, s.filler.isOpen = false

                                                      A form is lexically specified exactly when it is nonempty and no slot is open.

                                                      Constructions and the network #

                                                      A construction: a learned pairing of form and function. The form is a TypedForm; name is a display label; specificity is derived from the form (Construction.specificity), not stipulated.

                                                      • name : String
                                                      • form : TypedForm String
                                                      • meaning : String
                                                      • pragmaticFunction : Option String
                                                      Instances For
                                                        def ConstructionGrammar.instDecidableEqConstruction.decEq (x✝ x✝¹ : Construction) :
                                                        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 construction's specificity, derived from its slot structure.

                                                            Equations
                                                            Instances For
                                                              Equations
                                                              • One or more equations did not get rendered due to their size.
                                                              Instances For
                                                                def ConstructionGrammar.instDecidableEqInheritanceLink.decEq (x✝ x✝¹ : InheritanceLink) :
                                                                Decidable (x✝ = x✝¹)
                                                                Equations
                                                                • One or more equations did not get rendered due to their size.
                                                                Instances For

                                                                  A constructicon: a network of constructions connected by inheritance links.

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