Documentation

Linglib.Theories.Semantics.Dynamic.Core.Basic

structure Semantics.Dynamic.Core.Possibility (W : Type u_1) (E : Type u_2) :
Type (max u_1 u_2)

A possibility: world paired with variable assignment.

  • world : W
  • assignment : E
Instances For
    def Semantics.Dynamic.Core.Possibility.agreeOn {W : Type u_1} {E : Type u_2} (p q : Possibility W E) (vars : Set ) :

    Two possibilities agree on all variables in a set

    Equations
    Instances For

      Same world, possibly different assignment

      Equations
      Instances For
        def Semantics.Dynamic.Core.Possibility.extend {W : Type u_1} {E : Type u_2} (p : Possibility W E) (x : ) (e : E) :

        Extend an assignment at a single variable

        Equations
        Instances For
          @[simp]
          theorem Semantics.Dynamic.Core.Possibility.extend_at {W : Type u_1} {E : Type u_2} (p : Possibility W E) (x : ) (e : E) :
          (p.extend x e).assignment x = e
          @[simp]
          theorem Semantics.Dynamic.Core.Possibility.extend_other {W : Type u_1} {E : Type u_2} (p : Possibility W E) (x y : ) (e : E) (h : y x) :
          @[simp]
          theorem Semantics.Dynamic.Core.Possibility.extend_world {W : Type u_1} {E : Type u_2} (p : Possibility W E) (x : ) (e : E) :
          (p.extend x e).world = p.world
          @[reducible, inline]
          abbrev Semantics.Dynamic.Core.InfoState (W : Type u_1) (E : Type u_2) :
          Type (max u_2 u_1)

          Information state: set of possibilities.

          Equations
          Instances For

            The trivial state: all possibilities

            Equations
            Instances For

              The absurd state: no possibilities

              Equations
              Instances For

                State is consistent (non-empty)

                Equations
                Instances For

                  State is trivial (all possibilities)

                  Equations
                  Instances For
                    def Semantics.Dynamic.Core.InfoState.definedAt {W : Type u_1} {E : Type u_2} (s : InfoState W E) (x : ) :

                    Variable x is defined in state s iff all possibilities agree on x's value.

                    Equations
                    Instances For

                      The set of defined variables in a state

                      Equations
                      Instances For
                        def Semantics.Dynamic.Core.InfoState.novelAt {W : Type u_1} {E : Type u_2} (s : InfoState W E) (x : ) :

                        Variable x is novel in state s iff x is not defined.

                        Equations
                        Instances For

                          In a consistent state, novel means assignments actually disagree

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

                          Project to the set of worlds in the state

                          Equations
                          Instances For
                            def Semantics.Dynamic.Core.InfoState.filterWorlds {W : Type u_1} {E : Type u_2} (s : InfoState W E) (pred : WBool) :

                            Filter state by a world predicate

                            Equations
                            Instances For
                              def Semantics.Dynamic.Core.InfoState.filterAssign {W : Type u_1} {E : Type u_2} (s : InfoState W E) (pred : (E)Bool) :

                              Filter state by an assignment predicate

                              Equations
                              Instances For
                                structure Semantics.Dynamic.Core.Context (W : Type u_1) (E : Type u_2) :
                                Type (max u_1 u_2)

                                Context extends InfoState with metadata.

                                Instances For

                                  Empty context with all possibilities

                                  Equations
                                  Instances For

                                    Context is consistent iff its state is

                                    Equations
                                    Instances For
                                      def Semantics.Dynamic.Core.Context.introduce {W : Type u_1} {E : Type u_2} (c : Context W E) (x : ) :

                                      Mark a variable as defined

                                      Equations
                                      Instances For
                                        def Semantics.Dynamic.Core.Context.narrow {W : Type u_1} {E : Type u_2} (c : Context W E) (s : InfoState W E) :

                                        Narrow the state

                                        Equations
                                        Instances For

                                          State subsistence: s subsists in s' iff every possibility in s has a descendant in s'.

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

                                              Subsistence is reflexive

                                              theorem Semantics.Dynamic.Core.InfoState.subset_subsistsIn {W : Type u_1} {E : Type u_2} {s s' : InfoState W E} (h : s s') :
                                              s s'

                                              Subset implies subsistence

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

                                              State s supports proposition φ iff φ holds at all worlds in s.

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

                                                  Support is preserved by subset