Documentation

Linglib.Theories.Semantics.Reference.Binding

Semantic interpretation state: current assignment + pending abstractions.

Instances For

    Initial interpretation state with a given assignment.

    Equations
    Instances For

      Push an abstraction index onto the stack.

      Equations
      Instances For

        Interpret a bound pronoun: read from assignment at the variable index.

        Equations
        Instances For

          Interpret a binder: create a function that updates the assignment.

          Equations
          Instances For

            A binding is semantically well-formed if the binder's scope includes the bindee.

            Equations
            Instances For
              def Semantics.Reference.Binding.W {A B : Type} (κ : AAB) (x : A) :
              B

              Duplicator combinator W = λκ λx. κ x x.

              Equations
              Instances For

                H&K interpretation of binding.

                Equations
                Instances For
                  def Semantics.Reference.Binding.bsBinding {Entity : Type} (body : EntityEntityBool) (binder : Entity) :

                  B&S interpretation of binding (continuation-based).

                  Equations
                  Instances For
                    theorem Semantics.Reference.Binding.hk_bs_reflexive_equiv {m : Montague.Model} (n : ) (body : m.Entitym.EntityBool) (binder : m.Entity) (g : Montague.Variables.Assignment m) :
                    body (g.update n binder n) (g.update n binder n) = W body binder

                    H&K and B&S agree for reflexive binding: both produce body(binder, binder).

                    @[reducible, inline]

                    The Reader monad (H&K assignments are Reader computations).

                    Equations
                    Instances For

                      Reader is a monad.

                      Equations
                      • One or more equations did not get rendered due to their size.
                      def Semantics.Reference.Binding.cpsTransform {E A R : Type} (f : Reader E A) :
                      (AR)ER

                      CPS transform: Reader → Continuation-expecting function.

                      Equations
                      Instances For
                        theorem Semantics.Reference.Binding.cps_preserves_semantics {E A : Type} (f : Reader E A) (e : E) (k : ABool) :
                        cpsTransform f k e = k (f e)

                        CPS transform preserves binding semantics.

                        theorem Semantics.Reference.Binding.binding_is_contraction {A : Type} (rel : AABool) (x : A) :
                        (fun (x_1 : Unit) => rel x x) () = W rel x

                        W is the semantic content of binding in both frameworks.

                        Evaluation context tracks which binders are "active".

                        • activeBinders : List Entity
                        • position :
                        Instances For
                          Equations
                          • One or more equations did not get rendered due to their size.
                          Instances For
                            def Semantics.Reference.Binding.canBind {Entity : Type} [DecidableEq Entity] (ctx : EvalContext Entity) (binder : Entity) :

                            A pronoun can be bound only if its binder is active.

                            Equations
                            Instances For
                              def Semantics.Reference.Binding.crossover (pronounPos binderPos : ) :

                              Crossover: pronoun position < binder position → binding fails.

                              Equations
                              Instances For
                                def Semantics.Reference.Binding.strictReading {Entity : Type} (vp : EntityEntityBool) (antecedent ellipsisSite : Entity) :

                                Strict reading: pronoun resolves to original antecedent.

                                Equations
                                Instances For
                                  def Semantics.Reference.Binding.sloppyReading {Entity : Type} (vp : EntityEntityBool) (ellipsisSite : Entity) :

                                  Sloppy reading: pronoun re-binds to new subject.

                                  Equations
                                  Instances For

                                    VPE ambiguity: both readings available.

                                    • vp : EntityEntityBool
                                    • antecedentSubj : Entity
                                    • ellipsisSite : Entity
                                    Instances For

                                      Binding as cylindric algebra substitution #

                                      The connection between Heim & Kratzer's binding mechanism and cylindric algebra (@cite{henkin-monk-tarski-1971}):

                                      These are not mere analogies: H&K's assignment update g[n↦x] IS the cylindric set algebra's coordinate update, and their quantifier scope ∃x.φ(g[n↦x]) IS cylindrification cₙ(φ).

                                      theorem Semantics.Reference.Binding.binder_scope_is_existsClosure {m : Montague.Model} (n : ) (body : InterpState mProp) (state : InterpState m) :
                                      (∃ (x : m.Entity), body { assignment := state.assignment.update n x, abstractionStack := state.abstractionStack }) Montague.Variables.existsClosure n (fun (g : Montague.Variables.Assignment m) => body { assignment := g, abstractionStack := state.abstractionStack }) state.assignment

                                      Existential quantifier scope at index n is cylindrification.

                                      (∃n.φ)(g) = ∃x. φ(g[n↦x]) where the binder at n creates the scope via interpretBinder.

                                      Binding links pronoun κ to binder l by substituting g(l) for g(κ).

                                      After binding, g(κ) = g(l), which is the diagonal element Dκl. The semantic effect on a predicate φ is φ(g[κ↦g(l)]), which is cylindric substitution σ^κ_l(φ).

                                      After binding, the bound pronoun and its binder agree: (g[κ↦g(l)])(κ) = (g[κ↦g(l)])(l). This is the diagonal condition Dκl that cylindric substitution enforces.