Documentation

Linglib.Semantics.Dynamic.Connectives.PartialCCP

Partial Context Change Potentials #

[Kar74] [Hei83]

Heim's context change potentials are partial functions on contexts: the domain condition IS the presupposition ([Hei83]'s "c admits φ", [Kar74]'s "c satisfies-the-presuppositions-of φ"). PartialCCP P := InfoStateOf P →. InfoStateOf P grounds this in mathlib's PFun: Part.Dom is admittance, and the satisfaction law for conjunction — "c admits φ∧ψ iff c admits φ and c[φ] admits ψ" — is the domain condition of partial-function composition, true by construction (admits_pseq).

ofPartialProp sends a static partial proposition to its Heimian update: defined iff the context globally satisfies the presupposition (whole-state admittance, NOT per-world filtering), updating by intersecting with the assertion. Under this bridge the filtering connectives of Presupposition/Basic.lean stop being stipulations: andFilter, impFilter, and orFilter are derived as the admittance conditions of dynamic conjunction, conditional, and disjunction (admits_pseq_ofPartialProp etc.).

Main declarations #

@[reducible, inline]

A partial context change potential: a partial function on information states. The domain condition is the presupposition; Part.Dom is [Hei83]'s admittance.

Equations
Instances For

    u.admits s: the update is defined at s ([Hei83]'s "s admits u", [Kar74]'s satisfaction). This is Part.Dom.

    Equations
    Instances For

      Total CCPs are partial CCPs with trivial presupposition.

      Equations
      Instances For
        @[simp]

        The Heimian update of a static partial proposition: defined iff every world of the input satisfies the presupposition, updating by intersecting with the assertion.

        The whole-state domain condition is what separates admittance from per-world filtering (updateFromSat): a context containing a single presupposition-failing world admits nothing, rather than silently discarding the world.

        Equations
        Instances For
          @[simp]
          theorem Semantics.Dynamic.Core.PartialCCP.ofPartialProp_get {W : Type u_2} (p : Presupposition.PartialProp W) (s : InfoStateOf W) (h : (ofPartialProp p s).Dom) :
          (ofPartialProp p s).get h = {w : W | w s p.assertion w}

          Connectives #

          Sequencing (dynamic conjunction): s[φ ∧ ψ] = s[φ][ψ]. This is PFun.comp; the projection behavior of conjunction is the composition law of partial functions.

          Equations
          • φ.pseq ψ = PFun.comp ψ φ
          Instances For

            Heim negation: s[¬φ] = s \ s[φ], defined iff s[φ] is.

            Equations
            Instances For

              Heim conditional: s[if φ, ψ] = s \ (s[φ] \ s[φ][ψ]), defined iff s[φ] and s[φ][ψ] are.

              Equations
              Instances For

                Disjunction with ¬φ local context for the second disjunct ([Bea01]; [Hei83] gives CCPs only for not/and/if): s[φ ∨ ψ] = s[φ] ∪ (s \ s[φ])[ψ].

                Equations
                Instances For

                  The satisfaction law #

                  theorem Semantics.Dynamic.Core.PartialCCP.admits_pseq {P : Type u_1} (φ ψ : PartialCCP P) (s : InfoStateOf P) :
                  (φ.pseq ψ).admits s ∃ (h : φ.admits s), ψ.admits ((φ s).get h)

                  The Karttunen satisfaction law ([Kar74]), by construction: s admits φ ∧ ψ iff s admits φ and s[φ] admits ψ. The statement is the domain condition of Part.bind.

                  theorem Semantics.Dynamic.Core.PartialCCP.admits_pseq_iff {P : Type u_1} (φ ψ : PartialCCP P) (s : InfoStateOf P) (h : φ.admits s) :
                  (φ.pseq ψ).admits s ψ.admits ((φ s).get h)

                  The satisfaction law, with admittance of the first conjunct given.

                  @[simp]

                  Negation projects: s admits ¬φ iff s admits φ.

                  theorem Semantics.Dynamic.Core.PartialCCP.admits_pcond {P : Type u_1} (φ ψ : PartialCCP P) (s : InfoStateOf P) :
                  (φ.pcond ψ).admits s ∃ (h : φ.admits s), ψ.admits ((φ s).get h)

                  Conditional admittance: s admits if φ, ψ iff s admits φ and s[φ] admits ψ — the same condition as conjunction ([Kar74]).

                  theorem Semantics.Dynamic.Core.PartialCCP.admits_pdisj {P : Type u_1} (φ ψ : PartialCCP P) (s : InfoStateOf P) :
                  (φ.pdisj ψ).admits s ∃ (h : φ.admits s), ψ.admits (s \ (φ s).get h)

                  Disjunction admittance: s admits φ ∨ ψ iff s admits φ and the ¬φ local context s \ s[φ] admits ψ.

                  The Stalnaker bridge #

                  Admittance of an atomic update is global presupposition satisfaction.

                  Admittance is the static layer's Context.presupSatisfied: the dynamic definedness condition and the satisfaction-theoretic context condition are one notion.

                  Filtering connectives, derived #

                  Under ofPartialProp, the admittance conditions of the dynamic connectives are pointwise exactly the presuppositions of the filtering connectives of Presupposition/Basic.lean — Karttunen filtering is the composition law of partial updates, not a stipulation.

                  Dynamic conjunction admits s iff s satisfies andFilter's presupposition pointwise.

                  Dynamic conditional admits s iff s satisfies impFilter's presupposition pointwise.

                  Dynamic disjunction admits s iff s satisfies orFilter's presupposition pointwise: the ¬φ local context is Karttunen's negative-antecedent filtering.

                  Negation projects the atomic presupposition unchanged.