Documentation

Linglib.Theories.Semantics.Dynamic.Core.Update

def Semantics.Dynamic.Core.InfoState.update {W : Type u_1} {E : Type u_2} (s : InfoState W E) (φ : WBool) :

Update state with proposition: keep only possibilities where φ holds.

Equations
Instances For
    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      theorem Semantics.Dynamic.Core.InfoState.update_mono {W : Type u_1} {E : Type u_2} {s s' : InfoState W E} (h : s s') (φ : WBool) :

      Update is monotonic: larger states give larger results

      theorem Semantics.Dynamic.Core.InfoState.update_update {W : Type u_1} {E : Type u_2} (s : InfoState W E) (φ : WBool) :

      Update is idempotent

      theorem Semantics.Dynamic.Core.InfoState.update_seq {W : Type u_1} {E : Type u_2} (s : InfoState W E) (φ ψ : WBool) :
      sφψ = sfun (w : W) => φ w && ψ w

      Sequential update = conjunction

      theorem Semantics.Dynamic.Core.InfoState.update_preserves_defined {W : Type u_1} {E : Type u_2} (s : InfoState W E) (φ : WBool) (x : ) (h : s.definedAt x) :

      Update preserves definedness

      theorem Semantics.Dynamic.Core.InfoState.update_supports {W : Type u_1} {E : Type u_2} (s : InfoState W E) (φ : WBool) :
      sφ φ

      s[φ] ⊫ φ

      def Semantics.Dynamic.Core.InfoState.dynamicEntails {W : Type u_1} {E : Type u_2} (φ ψ : WBool) :

      Dynamic entailment for propositions.

      Equations
      Instances For
        theorem Semantics.Dynamic.Core.InfoState.dynamicEntails_refl {W : Type u_1} {E : Type u_2} (φ : WBool) :

        Any proposition dynamically entails itself

        theorem Semantics.Dynamic.Core.InfoState.dynamicEntails_conj {W : Type u_1} {E : Type u_2} (φ ψ : WBool) (h : dynamicEntails φ ψ) :
        dynamicEntails φ fun (w : W) => φ w && ψ w

        φ dynamically entails φ ∧ ψ when φ entails ψ

        def Semantics.Dynamic.Core.InfoState.randomAssign {W : Type u_1} {E : Type u_2} (s : InfoState W E) (x : ) (domain : Set E) :

        Random assignment: introduce new discourse referent at variable x.

        Equations
        Instances For

          Random assignment with full domain

          Equations
          Instances For
            theorem Semantics.Dynamic.Core.InfoState.randomAssign_makes_novel {W : Type u_1} {E : Type u_2} (s : InfoState W E) (x : ) (domain : Set E) (hs : s.consistent) (hdom : (e₁ : E), (e₂ : E), e₁ domain e₂ domain e₁ e₂) :
            (s.randomAssign x domain).novelAt x

            Random assignment makes x novel (when domain has multiple elements)

            theorem Semantics.Dynamic.Core.InfoState.randomAssign_preserves_defined {W : Type u_1} {E : Type u_2} (s : InfoState W E) (x y : ) (domain : Set E) (h : s.definedAt y) (hne : y x) :
            (s.randomAssign x domain).definedAt y

            Random assignment preserves other defined variables

            def Semantics.Dynamic.Core.CCP.exists_ {W : Type u_1} {E : Type u_2} (x : ) (domain : Set E) (φ : CCP (Possibility W E)) :

            Existential CCP: ∃x.φ introduces x then updates with φ.

            Equations
            Instances For
              def Semantics.Dynamic.Core.CCP.existsFull {W : Type u_1} {E : Type u_2} (x : ) (φ : CCP (Possibility W E)) :

              Existential with full domain

              Equations
              Instances For
                def Semantics.Dynamic.Core.CCP.ofProp {W : Type u_1} {E : Type u_2} (φ : WBool) :

                Lift a classical proposition to a CCP.

                Equations
                Instances For
                  def Semantics.Dynamic.Core.CCP.ofPred1 {W : Type u_1} {E : Type u_2} (p : EWBool) (x : ) :

                  Lift a predicate on entities (via variable lookup).

                  Equations
                  Instances For
                    def Semantics.Dynamic.Core.CCP.ofPred2 {W : Type u_1} {E : Type u_2} (p : EEWBool) (x y : ) :

                    Lift a binary predicate.

                    Equations
                    Instances For