An assignment maps variable indices to entities
Equations
Instances For
A witness sequence maps pronoun indices to entities
Equations
Instances For
Update an assignment at a single variable: g[i ↦ e]
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
A model provides predicate interpretations
- interp : String → List E → Bool
Interpretation: predicate name → argument tuple → truth value
Instances For
Evaluate a term given assignment g and witness sequence ê.
⟦x_i⟧^{g,ê} = g(i) (variables from assignment) ⟦p_i⟧^{g,ê} = ê(i) (pronouns from witness sequence)
Variables and pronouns have different interpretation sources.
Equations
Instances For
PLA Satisfaction: M, g, ê ⊨ φ
@cite{dekker-2012} Definition 4, Ch. 2 (PLA Satisfaction and Truth, p.22; adapted to type-theoretic setting).
- Atomic: check predicate interpretation on evaluated terms
- Negation: classical negation
- Conjunction: both conjuncts satisfied
- Existential: witness exists in domain
Equations
- Semantics.Dynamic.PLA.Formula.sat M g ê (Semantics.Dynamic.PLA.Formula.atom name ts) = (M.interp name (List.map (Semantics.Dynamic.PLA.Term.eval g ê) ts) = true)
- Semantics.Dynamic.PLA.Formula.sat M g ê (∼φ) = ¬Semantics.Dynamic.PLA.Formula.sat M g ê φ
- Semantics.Dynamic.PLA.Formula.sat M g ê (φ ⋀ ψ) = (Semantics.Dynamic.PLA.Formula.sat M g ê φ ∧ Semantics.Dynamic.PLA.Formula.sat M g ê ψ)
- Semantics.Dynamic.PLA.Formula.sat M g ê (Semantics.Dynamic.PLA.Formula.exists_ i φ) = ∃ (e : E), Semantics.Dynamic.PLA.Formula.sat M (g[i ↦ e]) ê φ
Instances For
Truth in a model: M ⊨ φ iff for all g, ∃ê such that M, g, ê ⊨ φ
Equations
- Semantics.Dynamic.PLA.Formula.trueIn M φ = ∀ (g : Semantics.Dynamic.PLA.Assignment E), ∃ (ê : Semantics.Dynamic.PLA.WitnessSeq E), Semantics.Dynamic.PLA.Formula.sat M g ê φ
Instances For
Double negation elimination
Conjunction elimination (left)
Conjunction elimination (right)
Conjunction introduction
Existential introduction
Term evaluation under resolution: when ê(i) = g(ρ(i)), evaluation is preserved.
Resolution Correctness (@cite{dekker-2012} Observation 7, §2.2, p.30).
If the witness sequence agrees with the assignment via resolution (ê = g ∘ ρ on pronouns), and no pronoun resolves to a bound variable, then satisfaction is preserved:
M, g, ê ⊨ φ ↔ M, g, ê ⊨ φ^ρ
"A man walked. He sat down."
Equations
- One or more equations did not get rendered due to their size.
Instances For
Resolution: p₀ → x₀
Equations
Instances For
For pronoun-free terms, evaluation doesn't depend on the witness sequence.
Observation 4 (@cite{dekker-2012} §2.2, p.25): PLA and PL equivalence.
For pronoun-free formulas, satisfaction is independent of the witness sequence. This shows PLA conservatively extends PL: standard predicate logic formulas have the same truth conditions in PLA as in PL.
Observation 5 (@cite{dekker-2012} §2.2): Relevance.
Satisfaction depends only on the values of free variables and pronouns that actually occur in the formula. Assignments that agree on freeVars and witness sequences that agree on range yield the same satisfaction.
PLA distinguishes variables (VarIdx) from pronouns (PronIdx);
Dynamic Ty2 has a single dref type S → E. The embedding uses the
sum type (VarIdx ⊕ PronIdx) → E as the S parameter, providing
type-safe separation without magic numbers. Because PLA updates are
eliminative (filter, never extend), every PLA formula translates to
a test in Dynamic Ty2.
PLA assignment merging variable and pronoun assignments via sum type:
.inl i accesses variable i, .inr i accesses pronoun i.
Equations
Instances For
Variable dref: projection at .inl i.
Equations
- Semantics.Dynamic.PLA.varDref i g = g (Sum.inl i)
Instances For
Pronoun dref: projection at .inr i.
Equations
- Semantics.Dynamic.PLA.pronDref i g = g (Sum.inr i)
Instances For
Interpret a PLA term as a Dynamic Ty2 dref.
Equations
Instances For
Convert PLAPoss to merged assignment.
Equations
- Semantics.Dynamic.PLA.plaPossToMerged p (Sum.inl i) = p.assignment i
- Semantics.Dynamic.PLA.plaPossToMerged p (Sum.inr i) = p.witnesses i
Instances For
Convert merged assignment to PLAPoss.
Equations
- Semantics.Dynamic.PLA.mergedToPLAPoss g = { assignment := fun (i : ℕ) => g (Sum.inl i), witnesses := fun (i : ℕ) => g (Sum.inr i) }
Instances For
Functional update for merged assignments (only affects variables).
Equations
- Semantics.Dynamic.PLA.extend g i e (Sum.inl i_1) = if i_1 = i then e else g (Sum.inl i_1)
- Semantics.Dynamic.PLA.extend g i e (Sum.inr i_1) = g (Sum.inr i_1)
Instances For
Evaluate a term given a merged assignment.
Equations
- Semantics.Dynamic.PLA.evalTerm g (Semantics.Dynamic.PLA.Term.var i) = g (Sum.inl i)
- Semantics.Dynamic.PLA.evalTerm g (Semantics.Dynamic.PLA.Term.pron i) = g (Sum.inr i)
Instances For
Translate a PLA formula to a Dynamic Ty2 condition.
PLA existentials check for existence of a witness but don't extend the assignment (eliminative semantics).
Equations
- One or more equations did not get rendered due to their size.
- Semantics.Dynamic.PLA.formulaToCondition M (∼φ) = fun (g : Semantics.Dynamic.PLA.MergedAssignment E) => ¬Semantics.Dynamic.PLA.formulaToCondition M φ g
Instances For
Translate a PLA formula to a Dynamic Ty2 DRS. PLA's eliminative
updates mean every formula translates to a test.
Equations
Instances For
Split a merged assignment into variable and witness components.
Equations
- Semantics.Dynamic.PLA.splitAssignment g = (fun (i : Semantics.Dynamic.PLA.VarIdx) => g (Sum.inl i), fun (i : Semantics.Dynamic.PLA.PronIdx) => g (Sum.inr i))
Instances For
A merged assignment satisfies the embedded DRS iff the split assignment satisfies the original PLA formula.