PLA satisfaction and truth #
Satisfaction and truth for Predicate Logic with Anaphora [Dek12].
Variables are interpreted by an assignment g; pronouns get their values from
outside the formula through a witness sequence ê. Satisfaction M, g, ê ⊨ φ
is relative to both; truth existentially quantifies the witness sequence.
Main definitions #
PLA.Assignment,PLA.WitnessSeq,PLA.Model,PLA.Term.evalPLA.Formula.sat,PLA.Formula.trueIn: satisfaction and truthPLA.formulaToDRS: embedding into Dynamic Ty2 [Mus96]
Main results #
PLA.Formula.sat_resolve: resolution correctness (Observation 7 of [Dek12])PLA.obs4_pla_pl_equivalence: PLA conservatively extends predicate logicPLA.obs5_relevance: satisfaction depends only on occurring free variables and pronounsPLA.formulaToDRS_correct: the Dynamic Ty2 embedding preserves satisfaction
An assignment maps variable indices to entities
Equations
- PLA.Assignment E = (PLA.VarIdx → E)
Instances For
A witness sequence maps pronoun indices to entities
Equations
- PLA.WitnessSeq E = (PLA.PronIdx → E)
Instances For
Assignment-update notation g[i ↦ e] for mathlib's Function.update.
Unlike Semantics/Intensional/Variables.lean's notation:max, this stays at the
default precedence: at max the trailing [ would capture the list-literal
arguments of Formula.atom.
Equations
- One or more equations did not get rendered due to their size.
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
- PLA.Term.eval g ê (PLA.Term.var i) = g i
- PLA.Term.eval g ê (PLA.Term.pron i) = ê i
Instances For
Term evaluation under resolution: when ê(i) = g(ρ(i)), evaluation is preserved.
For pronoun-free terms, evaluation doesn't depend on the witness sequence.
PLA Satisfaction: M, g, ê ⊨ φ
[Dek12] 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
- PLA.Formula.sat M g ê (PLA.Formula.atom name ts) = (M.interp name (List.map (PLA.Term.eval g ê) ts) = true)
- PLA.Formula.sat M g ê (∼φ) = ¬PLA.Formula.sat M g ê φ
- PLA.Formula.sat M g ê (φ ⋀ ψ) = (PLA.Formula.sat M g ê φ ∧ PLA.Formula.sat M g ê ψ)
- PLA.Formula.sat M g ê (PLA.Formula.exists_ i φ) = ∃ (e : E), PLA.Formula.sat M (Function.update g i e) ê φ
Instances For
Truth in a model: M ⊨ φ iff for all g, ∃ê such that M, g, ê ⊨ φ
Equations
- PLA.Formula.trueIn M φ = ∀ (g : PLA.Assignment E), ∃ (ê : PLA.WitnessSeq E), PLA.Formula.sat M g ê φ
Instances For
Double negation elimination
Conjunction elimination (left)
Conjunction elimination (right)
Conjunction introduction
Existential introduction
Resolution Correctness ([Dek12] 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
- PLA.exManWalkedIn = (PLA.Formula.exists_ 0 (PLA.Formula.atom "Man" [PLA.Term.var 0] ⋀ PLA.Formula.atom "WalkedIn" [PLA.Term.var 0]) ⋀ PLA.Formula.atom "SatDown" [PLA.Term.pron 0])
Instances For
Observation 4 ([Dek12] §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 ([Dek12] §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.
Embedding into Dynamic Ty2 #
PLA distinguishes variables (VarIdx) from pronouns (PronIdx);
Dynamic Ty2 ([Mus96]) 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
- PLA.MergedAssignment E = (PLA.VarIdx ⊕ PLA.PronIdx → E)
Instances For
Interpret a PLA term as a Dynamic Ty2 dref.
Equations
- PLA.termToDref (PLA.Term.var i) = PLA.varDref i
- PLA.termToDref (PLA.Term.pron i) = PLA.pronDref i
Instances For
Functional update for merged assignments (only affects variables).
Equations
- PLA.extend g i e (Sum.inl j) = if j = i then e else g (Sum.inl j)
- PLA.extend g i e (Sum.inr j) = g (Sum.inr j)
Instances For
Evaluate a term given a merged assignment.
Equations
- PLA.evalTerm g (PLA.Term.var i) = g (Sum.inl i)
- PLA.evalTerm g (PLA.Term.pron i) = g (Sum.inr i)
Instances For
Split a merged assignment into variable and witness components.
Equations
- PLA.splitAssignment g = (fun (i : PLA.VarIdx) => g (Sum.inl i), fun (i : PLA.PronIdx) => 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
- PLA.formulaToCondition M (PLA.Formula.atom name ts) = fun (g : PLA.MergedAssignment E) => M.interp name (List.map (PLA.evalTerm g) ts) = true
- PLA.formulaToCondition M (∼φ) = fun (g : PLA.MergedAssignment E) => ¬PLA.formulaToCondition M φ g
- PLA.formulaToCondition M (φ ⋀ ψ) = fun (g : PLA.MergedAssignment E) => PLA.formulaToCondition M φ g ∧ PLA.formulaToCondition M ψ g
- PLA.formulaToCondition M (PLA.Formula.exists_ i φ) = fun (g : PLA.MergedAssignment E) => ∃ (e : E), PLA.formulaToCondition M φ (PLA.extend g i e)
Instances For
Translate a PLA formula to a Dynamic Ty2 Update. PLA's eliminative
updates mean every formula translates to a test.
Equations
Instances For
A merged assignment satisfies the embedded Update iff the split assignment satisfies the original PLA formula.