Documentation

Linglib.Theories.Semantics.Dynamic.Systems.PLA.Semantics

@[reducible, inline]

An assignment maps variable indices to entities

Equations
Instances For
    @[reducible, inline]

    A witness sequence maps pronoun indices to entities

    Equations
    Instances For

      Update an assignment at a single variable: g[i ↦ e]

      Equations
      Instances For
        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          @[simp]
          theorem Semantics.Dynamic.PLA.Assignment.update_same {E : Type u_1} (g : Assignment E) (i : VarIdx) (e : E) :
          (g[i e]) i = e
          @[simp]
          theorem Semantics.Dynamic.PLA.Assignment.update_other {E : Type u_1} (g : Assignment E) (i j : VarIdx) (e : E) (h : j i) :
          (g[i e]) j = g j
          structure Semantics.Dynamic.PLA.Model (E : Type u_1) :
          Type u_1

          A model provides predicate interpretations

          • interp : StringList EBool

            Interpretation: predicate name → argument tuple → truth value

          Instances For
            def Semantics.Dynamic.PLA.Term.eval {E : Type u_1} (g : Assignment E) (ê : WitnessSeq E) :
            TermE

            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
              @[simp]
              theorem Semantics.Dynamic.PLA.Term.eval_var {E : Type u_1} (g : Assignment E) (ê : WitnessSeq E) (i : VarIdx) :
              eval g ê (var i) = g i
              @[simp]
              theorem Semantics.Dynamic.PLA.Term.eval_pron {E : Type u_1} (g : Assignment E) (ê : WitnessSeq E) (i : PronIdx) :
              eval g ê (pron i) = ê i
              def Semantics.Dynamic.PLA.Formula.sat {E : Type u_1} [Nonempty E] (M : Model E) (g : Assignment E) (ê : WitnessSeq E) :

              PLA Satisfaction: M, g, ê ⊨ φ

              Dekker Definition 3 (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
              Instances For

                Truth in a model: M ⊨ φ iff for all g, ∃ê such that M, g, ê ⊨ φ

                Equations
                Instances For
                  theorem Semantics.Dynamic.PLA.Formula.sat_neg_neg {E : Type u_1} [Nonempty E] (M : Model E) (g : Assignment E) (ê : WitnessSeq E) (φ : Formula) :
                  sat M g ê (φ) sat M g ê φ

                  Double negation elimination

                  theorem Semantics.Dynamic.PLA.Formula.sat_conj_left {E : Type u_1} [Nonempty E] (M : Model E) (g : Assignment E) (ê : WitnessSeq E) (φ ψ : Formula) :
                  sat M g ê (φ ψ)sat M g ê φ

                  Conjunction elimination (left)

                  theorem Semantics.Dynamic.PLA.Formula.sat_conj_right {E : Type u_1} [Nonempty E] (M : Model E) (g : Assignment E) (ê : WitnessSeq E) (φ ψ : Formula) :
                  sat M g ê (φ ψ)sat M g ê ψ

                  Conjunction elimination (right)

                  theorem Semantics.Dynamic.PLA.Formula.sat_conj_intro {E : Type u_1} [Nonempty E] (M : Model E) (g : Assignment E) (ê : WitnessSeq E) (φ ψ : Formula) :
                  sat M g ê φsat M g ê ψsat M g ê (φ ψ)

                  Conjunction introduction

                  theorem Semantics.Dynamic.PLA.Formula.sat_exists_intro {E : Type u_1} [Nonempty E] (M : Model E) (g : Assignment E) (ê : WitnessSeq E) (i : VarIdx) (φ : Formula) (e : E) :
                  sat M (g[i e]) ê φsat M g ê (exists_ i φ)

                  Existential introduction

                  theorem Semantics.Dynamic.PLA.Term.eval_resolve {E : Type u_1} (g : Assignment E) (ê : WitnessSeq E) (ρ : Resolution) (t : Term) (h : ∀ (i : PronIdx), t = pron iê i = g (ρ i)) :
                  eval g ê t = eval g ê (resolve ρ t)

                  Term evaluation under resolution: when ê(i) = g(ρ(i)), evaluation is preserved.

                  theorem Semantics.Dynamic.PLA.Formula.sat_resolve {E : Type u_1} [Nonempty E] (M : Model E) (g : Assignment E) (ê : WitnessSeq E) (ρ : Resolution) (φ : Formula) (hcompat : iφ.range, ê i = g (ρ i)) (hnoCapture : iφ.range, ρ iφ.domain) :
                  sat M g ê φ sat M g ê (resolve ρ φ)

                  Resolution Correctness Theorem (Dekker §2.3).

                  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