Documentation

Linglib.Theories.Syntax.Minimalist.RelativeClauses

Relative Clause Semantics: A Worked Example #

Demonstrates the full machinery from Syntax/Minimalist/TraceInterpretation.lean with a concrete linguistic example: "the book that John read _"

The Derivation #

                  DP
                 / \
               the NP
                    / \
                  book CP
                       / \
                      Op₁ IP
                          / \
                       John VP
                             / \
                           read t₁

Semantic Composition #

  1. Trace interpretation: ⟦t₁⟧^g = g(1)
  2. VP composition: ⟦read t₁⟧^g = read(g(1)) (applied to subject later)
  3. IP composition: ⟦John read t₁⟧^g = read(j, g(1))
  4. Predicate Abstraction at CP: ⟦Op₁ [John read t₁]⟧^g = λx. read(j, x)
  5. Predicate Modification with head noun: λx. book(x) ∧ read(j, x)
  6. Definite description: ιx[book(x) ∧ read(j,x)]

A model for the "book that John read" example.

Domain: john, mary, book1, book2, newspaper

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

      The trace in object position: t₁

      This represents the gap in "that John read _". The trace has index 1.

      Equations
      Instances For

        VP meaning: "read t₁"

        ⟦read t₁⟧^g = λy. read(g(1))(y) = λy. read(y, g(1))

        Note: Our read_sem takes object first, then subject. So "read t₁" is the function waiting for a subject.

        Equations
        Instances For

          IP meaning: "John read t₁"

          ⟦John read t₁⟧^g = read(j, g(1))

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

            Verify IP meaning: it's true iff the trace's value was read by John

            CP meaning via Predicate Abstraction: "Op₁ [John read t₁]"

            ⟦Op₁ [John read t₁]⟧^g = λx. ⟦John read t₁⟧^{g[1↦x]} = λx. read(j, x)

            This creates a predicate "things that John read".

            Equations
            Instances For

              The NP meaning is the intersection of "book" and "things John read"

              def Minimalist.RelativeClauses.iota (candidates : List ReadEntity) (p : ReadEntityBool) :
              Option ReadEntity

              The iota operator: ιx.P(x)

              Returns the unique x satisfying P, if one exists. For computational simplicity, we search through a list of candidates.

              Equations
              Instances For

                All entities in our domain

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

                  "the book that John read" denotes book1

                  This is the unique entity satisfying: book(x) ∧ read(j, x)

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

                    Main theorem: "the book that John read" denotes book1

                    This shows the compositional derivation yields the correct result:

                    • book1 is a book
                    • John read book1
                    • No other book was read by John
                    • Therefore ιx[book(x) ∧ read(j,x)] = book1

                    The relative clause creates the right predicate: it's true of exactly the things John read.

                    Assignment independence: the final NP meaning doesn't depend on the assignment (all variables are bound).

                    An equivalent formulation using the relativePM combinator directly. This shows the interface abstracts over the composition steps.

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

                      The syntactic structure with a trace.

                      This shows how the semantic derivation corresponds to the syntax: the trace created via mkTrace 1 is interpreted via interpTrace 1.

                      Equations
                      Instances For

                        Extracting the trace index from a syntactic object.