Documentation

Linglib.Core.CylindricAlgebra.VarAssignment

Bridge: VarAssignment = Assignment #

@cite{henkin-monk-tarski-1971} @cite{partee-1973} @cite{heim-kratzer-1998}

The generic VarAssignment D (from Core.Semantics.Intension) and the canonical Assignment E (from Core.Assignment) are the same type: both are ℕ → D. Their update operations are the same function.

This makes every instantiation of VarAssignment — entity assignments (@cite{heim-kratzer-1998}), temporal assignments (@cite{partee-1973}), situation assignments (@cite{percus-2000}) — an instance of the same cylindric set algebra defined in Core.CylindricAlgebra.

Instantiations #

FrameworkDomain DAssignment type
Heim & KratzerEntityAssignment Entity
Partee 1973TimeTemporalAssignment Time
Percus 2000Situation W TimeSituationAssignment W Time
CDRT (Muskens)ERegister E
PLA (@cite{dekker-2012})EVarIdx → E

All share the same cylindric algebra axioms (C1–C7) and the same substitution theory (HMT §1.5).

VarAssignment D IS Assignment D — both are ℕ → D.

updateVar IS Assignment.update.

lookupVar n g is just g n — register projection.

Existential quantification over a VarAssignment register = cylindrification on the underlying Assignment.

Lambda abstraction is the integrand of cylindrification: varLambdaAbs n body g d = body (g[n↦d]). Existential closure over d gives cylindrification cₙ(body).