Variable Binding and Assignment Functions #
@cite{heim-kratzer-1998} @cite{charlow-2018}
Framework-neutral infrastructure for interpreting expressions with free variables,
built on Core.Logic.Intensional.Frame.
Main definitions #
Assignment(fromCore/Assignment.lean) instantiated atF.Entityfor entity pronouns andF.Indexfor situation pronounsDenotG— assignment-relative denotationsapplyG,lambdaAbsG,constDenot— composition with assignments- Applicative functor laws (@cite{charlow-2018})
- Cylindric algebra bridge (@cite{henkin-monk-tarski-1971})
Equations
- One or more equations did not get rendered due to their size.
Instances For
Denotation depending on assignment function.
Equations
- Core.Logic.Intensional.Variables.DenotG F ty = (Core.Assignment F.Entity → F.Denot ty)
Instances For
Pronoun/variable denotation: ⟦xₙ⟧^g = g(n).
Equations
Instances For
Lift constant denotation to assignment-relative form.
Equations
Instances For
Function application with assignments.
Equations
- Core.Logic.Intensional.Variables.applyG f x g = f g (x g)
Instances For
Lambda abstraction with variable binding.
Equations
- Core.Logic.Intensional.Variables.lambdaAbsG n body g x = body (g.update n x)
Instances For
Assignment-sensitive composition as an applicative functor #
@cite{charlow-2018} observes that constDenot (ρ) and applyG (⊛)
form an applicative functor for the Reader type constructor G a := g → a
(@cite{mcbride-paterson-2008}). The four applicative functor laws hold
definitionally.
Homomorphism: ρ f ⊛ ρ x = ρ (f x).
Identity: ρ id ⊛ v = v.
Interchange: u ⊛ ρ y = ρ (· y) ⊛ u.
Join (μ): flatten a doubly assignment-dependent meaning.
@cite{charlow-2018} §4.2: μ m := λg. m g g.
Enables higher-order variables: a pronoun anaphoric to an intension
(type g → g → a) is flattened to a standard denotation (type g → a)
by evaluating the retrieved intension at the current assignment.
Equations
- Core.Logic.Intensional.Variables.denotGJoin ho g = ho g g
Instances For
Left identity: μ (ρ d) = d.
Right identity: μ (λg. ρ(d g)) = d.
Associativity: μ ∘ μ = μ ∘ fmap μ.
Assignments as a cylindric set algebra #
@cite{heim-kratzer-1998} assignment functions satisfy the same algebraic axioms as DRT's dynamic assignments: predicates on assignments form a cylindric set algebra (@cite{henkin-monk-tarski-1971}).
Existential closure at variable n:
(∃n.φ)(g) = ∃x. φ(g[n↦x]).
Equations
- Core.Logic.Intensional.Variables.existsClosure n φ g = ∃ (x : F.Entity), φ (g.update n x)
Instances For
Diagonal element: assignments where variables n and k agree.
Equations
- Core.Logic.Intensional.Variables.diag n k g = (g n = g k)
Instances For
C₁: Existential closure of False is False.
C₂: φ implies its existential closure.
C₅: Dnn = ⊤ (reflexivity of equality).
Pronoun resolution: setting variable κ to read from variable l.
Equations
- Core.Logic.Intensional.Variables.resolve κ l φ g = φ (g.update κ (g l))
Instances For
Substitution = resolution.
Lambda abstraction at n is the "integrand" of existential closure.
Situation pronouns as the type-level dual of entity pronouns #
Hanink (2018, 2021), Bondarenko (2022, 2023) and the broader post-Schwarz literature on situational vs anaphoric definites argue that a situation argument can be a bound variable (a "situation pronoun"), not just a free parameter handed to an interpretation function.
Type-theoretically this is the dual of entity binding under Ty.intens:
where entity pronouns are interpreted relative to Assignment F.Entity := ℕ → F.Entity,
situation pronouns are interpreted relative to SitAssignment F := ℕ → F.Index.
Both reuse Core.Assignment at different instantiations, so
the update lemmas (update_at, update_ne, update_overwrite, update_comm,
update_self) come for free.
Situation assignment: maps situation-pronoun indices to frame indices.
Reuses Assignment at type F.Index.
Equations
Instances For
Situation-pronoun denotation: ⟦sₙ⟧^{gs} = gs(n). Parallels interpPronoun.
Equations
Instances For
Bi-assignment-relative denotation: depends on both an entity assignment and a situation assignment. Used by any module that interprets expressions containing both entity pronouns and situation pronouns (definites, attitude reports, modal scope, world-variable binding).
Equations
Instances For
Lift a pure entity-assignment-relative denotation to bi-assignment form (ignores the situation assignment).
Equations
- Core.Logic.Intensional.Variables.DenotGS.ofDenotG d g x✝ = d g
Instances For
Lift a constant denotation to bi-assignment form (ignores both assignments).
Equations
- Core.Logic.Intensional.Variables.DenotGS.const d x✝¹ x✝ = d
Instances For
Bi-assignment lift of a pure constant is the same as DenotG-lift of a
constant — the two const paths agree.