Semantic interpretation state: current assignment + pending abstractions.
- assignment : Montague.Variables.Assignment m
Instances For
Initial interpretation state with a given assignment.
Equations
Instances For
Push an abstraction index onto the stack.
Equations
- state.pushAbstraction idx = { assignment := state.assignment, abstractionStack := idx :: state.abstractionStack }
Instances For
Interpret a bound pronoun: read from assignment at the variable index.
Equations
- Semantics.Reference.Binding.interpretBoundPronoun state varIdx = state.assignment varIdx
Instances For
Interpret a binder: create a function that updates the assignment.
Equations
- Semantics.Reference.Binding.interpretBinder varIdx body state x = body { assignment := state.assignment.update varIdx x, abstractionStack := state.abstractionStack }
Instances For
A binding is semantically well-formed if the binder's scope includes the bindee.
Equations
- Semantics.Reference.Binding.bindingWellFormed state varIdx = decide (varIdx ∈ state.abstractionStack)
Instances For
Interpret a binding configuration as a semantic check.
Equations
Instances For
Duplicator combinator W = λκ λx. κ x x.
Equations
- Semantics.Reference.Binding.W κ x = κ x x
Instances For
H&K interpretation of binding.
Equations
- Semantics.Reference.Binding.hkBinding n body binder g = body (g.update n binder n)
Instances For
B&S interpretation of binding (continuation-based).
Equations
- Semantics.Reference.Binding.bsBinding body binder = Semantics.Reference.Binding.W body binder
Instances For
H&K and B&S agree for reflexive binding: both produce body(binder, binder).
The Reader monad (H&K assignments are Reader computations).
Equations
- Semantics.Reference.Binding.Reader E A = (E → A)
Instances For
Reader is a monad.
Equations
- One or more equations did not get rendered due to their size.
CPS transform: Reader → Continuation-expecting function.
Equations
- Semantics.Reference.Binding.cpsTransform f k e = k (f e)
Instances For
CPS transform preserves binding semantics.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A pronoun can be bound only if its binder is active.
Equations
- Semantics.Reference.Binding.canBind ctx binder = decide (binder ∈ ctx.activeBinders)
Instances For
Crossover: pronoun position < binder position → binding fails.
Equations
- Semantics.Reference.Binding.crossover pronounPos binderPos = decide (pronounPos < binderPos)
Instances For
Strict reading: pronoun resolves to original antecedent.
Equations
- Semantics.Reference.Binding.strictReading vp antecedent ellipsisSite = vp ellipsisSite antecedent
Instances For
Sloppy reading: pronoun re-binds to new subject.
Equations
- Semantics.Reference.Binding.sloppyReading vp ellipsisSite = Semantics.Reference.Binding.W vp ellipsisSite
Instances For
VPE ambiguity: both readings available.
- vp : Entity → Entity → Bool
- antecedentSubj : Entity
- ellipsisSite : Entity
Instances For
Equations
Instances For
Equations
Instances For
Binding as cylindric algebra substitution #
The connection between Heim & Kratzer's binding mechanism and cylindric algebra (@cite{henkin-monk-tarski-1971}):
- Binder at index n creates
fun x => body(g[n↦x]), the function whose existential closure is cylindrificationcₙ - Bound pronoun at index n reads
g(n), a register projection - Binding resolution (pronoun κ bound by binder l) = cylindric
substitution
σ^κ_l(φ) = fun g => φ(g[κ↦g(l)])
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ₙ(φ).
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.