DRS Interpretation and Accessibility #
@cite{muskens-1996}
Semantic interpretation bridge: maps DRSExpr syntax (from Core.DRSExpr)
to DRS (Assignment E) semantics, connecting the pure syntactic representation
to the dynamic semantic algebra.
Key Results #
interp: mapsDRSExpr → DRS (Assignment E)(ABB1–ABB4)mergingLemma: sequenced boxes with fresh drefs merge into one boxreduce/reduce_sound: iterative reduction to canonical form- Proposition 1 (@cite{muskens-1996}, p. 174): proper DRS ↔ closed wp
Interpretation of relation symbols.
Equations
- Semantics.Dynamic.Core.Accessibility.RelInterp E = (ℕ → List E → Prop)
Instances For
Semantic interpretation: maps DRS syntax to DRS semantics.
Each syntactic DRS expression denotes a binary relation on assignments
(type DRS (Assignment E)), following the abbreviation clauses
ABB1–ABB4 (@cite{muskens-1996}, p. 157).
Equations
- One or more equations did not get rendered due to their size.
- Semantics.Dynamic.Core.Accessibility.interp rels (Semantics.Dynamic.Core.DRSExpr.DRSExpr.atom rel drefs) = [fun (g : Core.Assignment E) => rels rel (List.map (fun (i : ℕ) => g i) drefs)]
- Semantics.Dynamic.Core.Accessibility.interp rels (Semantics.Dynamic.Core.DRSExpr.DRSExpr.is u v) = [fun (g : Core.Assignment E) => g u = g v]
- Semantics.Dynamic.Core.Accessibility.interp rels K.neg = [∼Semantics.Dynamic.Core.Accessibility.interp rels K]
- Semantics.Dynamic.Core.Accessibility.interp rels (K₁.seq K₂) = Semantics.Dynamic.Core.Accessibility.interp rels K₁ ⨟ Semantics.Dynamic.Core.Accessibility.interp rels K₂
Instances For
Equations
- Semantics.Dynamic.Core.Accessibility.interp.interpConds rels [] = fun (i j : Core.Assignment E) => i = j
- Semantics.Dynamic.Core.Accessibility.interp.interpConds rels (c :: cs) = Semantics.Dynamic.Core.Accessibility.interp rels c ⨟ Semantics.Dynamic.Core.Accessibility.interp.interpConds rels cs
Instances For
Projection dref: the n-th register value.
In @cite{muskens-1996}'s terminology, projDref n is the variable register
uₙ — the function that reads the n-th slot of an assignment.
Equations
Instances For
Updating at index n assigns the new value to the n-th projection dref.
This is the concrete version of AssignmentStructure.extend_at for
Assignment E: uₙ(g[n ↦ e]) = e.
Updating at index n preserves other projection drefs.
Concrete version of AssignmentStructure.extend_other:
uₘ(g[n ↦ e]) = uₘ(g) when n ≠ m.
interpConds distributes over list concatenation.
Dref introduction over concatenation = sequencing of introductions.
When dref n does not occur in expression K, the DRS
interp rels K is semantically invariant under Assignment.update at
slot n: updating slot n in both input and output preserves the
relation (FreshFwd), and any output from an updated input factors
through an un-updated intermediate (FreshBack).
Merging Lemma (@cite{muskens-1996}, p. 150).
If drefs x'₁,...,x'ₖ do not occur in any condition γ₁,...,γₘ, then
sequencing two boxes equals a single merged box:
⟦[x₁...xₙ|γ₁,...,γₘ]; [x'₁...x'ₖ|δ₁,...,δq]⟧
= ⟦[x₁...xₙx'₁...x'ₖ|γ₁,...,γₘ,δ₁,...,δq]⟧
This is used throughout §III.4 to simplify compositional derivations.
The proof reduces (via foldl_append_introduce, interpConds_append,
and dseq_assoc) to showing that condition tests commute with fresh
dref introductions. This commuting step requires a mutual induction
on DRSExpr proving that interp rels c is semantically invariant
under Assignment.update at slots not mentioned in c.
Kamp & Reyle's DRS reduction — the operation that collapses
compositional .seq (.box …) (.box …) derivations into canonical
single-box form. This is Muskens's T₅ rule applied iteratively.
reduce K walks the .seq spine bottom-up: whenever two adjacent
boxes satisfy the freshness precondition of the merging lemma, they
are fused into one box. The soundness theorem says interpretation is
invariant: interp rels (reduce K) = interp rels K.
Reduce a DRS expression by iteratively merging sequential boxes.
Only reduces .seq chains (the discourse-composition spine).
Conditions inside boxes are left structurally intact — they don't
contain .seq in well-formed DRT derivations.
Equations
- One or more equations did not get rendered due to their size.
- Semantics.Dynamic.Core.Accessibility.reduce x✝ = x✝
Instances For
Contextual properness #
The syntactic isProper function (from DRSExpr.lean) has a soundness
gap: it conflates accessibility across disjunction branches, allowing
expressions like [u₁|P(u₁)] ∨ [|Q(u₁)] to pass even though u₁ is
free in the second disjunct. The allBound check defined here tracks
bound drefs contextually and requires each disjunct to be independently
well-bound.
Context-sensitive properness: every dref used in K must appear
in the bound set B.
Equations
- One or more equations did not get rendered due to their size.
- Semantics.Dynamic.Core.Accessibility.allBound x✝ (Semantics.Dynamic.Core.DRSExpr.DRSExpr.atom rel drefs) = drefs.all fun (x : ℕ) => x✝.contains x
- Semantics.Dynamic.Core.Accessibility.allBound x✝ (Semantics.Dynamic.Core.DRSExpr.DRSExpr.is u v) = (x✝.contains u && x✝.contains v)
- Semantics.Dynamic.Core.Accessibility.allBound x✝ K.neg = Semantics.Dynamic.Core.Accessibility.allBound x✝ K
- Semantics.Dynamic.Core.Accessibility.allBound x✝ (K₁.disj K₂) = (Semantics.Dynamic.Core.Accessibility.allBound x✝ K₁ && Semantics.Dynamic.Core.Accessibility.allBound x✝ K₂)
- Semantics.Dynamic.Core.Accessibility.allBound x✝ (Semantics.Dynamic.Core.DRSExpr.DRSExpr.box drefs conds) = Semantics.Dynamic.Core.Accessibility.allBound.allBoundConds (x✝ ++ drefs) conds
Instances For
Proposition 1 (@cite{muskens-1996}, p. 174).
A syntactically proper DRS (no free discourse referents) has
state-independent truth conditions: wp(⟦K⟧, ⊤) doesn't depend
on the input assignment.
This bridges syntactic properness (allBound) with semantic
properness (WeakestPrecondition.isProper). The proof uses a
rebase lemma: if all drefs in K are bound, then satisfaction
can be transferred between any two assignments.
Connection to cylindric algebras #
The algebraic definitions (cylindrify, invariantOn, cylClosed,
diagonal, axioms C1–C7, substitution, derived theorems) live in
CylindricAlgebra.lean. This section re-exports them and adds the
DRT-specific bridge theorems that depend on interp/closure.
The truth condition of a DRS with allBound B K is invariant on
B: it only depends on the registers that K is allowed to read.
This is the support theorem: syntactic bound-checking (allBound)
correctly over-approximates semantic support.
Per-register support theorem: if dref n does not occur in K,
then the truth condition of K is cylindrification-closed at n.
This connects freshInv (§3b) to the cylindric algebra vocabulary.
occurs is the per-register support checker, and allBound is
the global version.
The DRS identity condition is u v denotes the diagonal element.
Register introduction + D under closure = cylindrification.
The DRS [n]; D (introduce dref n then continue with D),
under closure, equals cₙ(closure(D)): cylindrification at n.
This is the DRS-level analog of the DPL theorem
closure(∃x.φ) = cₓ(closure(φ)).
Register introduction alone under closure is trivially true
(given a nonempty entity type). closure([n]) = ⊤.