Documentation

Pdl.Modelgraphs

Model Graphs (Section 7.1) #

Definition of Model Graphs #

def Modelgraphs.Q {W : Finset (Finset Formula)} (R : WWProp) :
ProgramWWProp

Definition 6.3: Given relations for all atomic programs over model graph states (i.e. sets of formulas), define relations for all PDL programs inductively as usual, but using membership to interpret the test operator.

Equations
Instances For

    Definition 6.4. A model graph is a Kripke model over sets of formulas as states fulfilling the conditions (a) to (b). See also [Bor88] Def 19 on page 31 where (a)-(b) are named (i)-(iv). Note: In MB item (b) aka (ii) only has . We use similar to [BdRV01] Def 4.18 and 4.84. Note: In item (c) a is atomic, but in item (d) α is any program.

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For

      Truth Lemma #

      theorem get_eq_getzip {α : Type u_1} {l : List α} {α✝ : Type u_2} {x : α✝} {δ : List α✝} {X Y : α} {i : Fin (l ++ [Y]).length} {h : i < ((x, X) :: δ.zip (l ++ [Y])).length} :
      (X :: (l ++ [Y])).get i.castSucc = ((x, X) :: δ.zip (l ++ [Y]))[i].2
      theorem loadClaimHelper {Worlds : Finset (Finset Formula)} {MG : ModelGraph Worlds} {X Y : { x : Finset Formula // x Worlds }} {δ : List Program} {φ : Formula} {l : List { x : Finset Formula // x Worlds }} (length_def : l.length + 1 = δ.length) (δφ_in_X : (⌈⌈δ⌉⌉φ) X) (lchain : List.IsChain (pairRel MG) (((?') :: δ).zip (X :: l ++ [Y]))) (IHδ : dδ, ∀ (X' Y' : { x : Finset Formula // x Worlds }) (φ' : Formula), (dφ') X'relate (↑MG) d X' Y'φ' Y') (i : Fin (X :: l ++ [Y]).length) :
      (⌈⌈List.drop (↑i) δ⌉⌉φ) ((X :: l ++ [Y]).get i)
      @[irreducible]
      theorem Q_then_relate {Worlds : Finset (Finset Formula)} (MG : ModelGraph Worlds) (α : Program) (X Y : Worlds) :
      Modelgraphs.Q (↑MG).Rel α X Yrelate (↑MG) α X Y

      C3 in notes. Originally MB Lemma 9, page 32, stronger version for induction loading. Now also using Q relation to overwrite tests.

      @[irreducible]
      theorem loadedTruthLemma {Worlds : Finset (Finset Formula)} (MG : ModelGraph Worlds) (X : Worlds) (P : Formula) :
      (P Xevaluate (↑MG) X P) (~P X¬evaluate (↑MG) X P)

      C1 and C2 in notes

      @[irreducible]
      theorem loadedTruthLemmaProg {Worlds : Finset (Finset Formula)} (MG : ModelGraph Worlds) (α : Program) (X : Worlds) (φ : Formula) :
      (αφ) X∀ (Y : Worlds), relate (↑MG) α X Yφ Y

      C4 in notes

      theorem truthLemma {Worlds : Finset (Finset Formula)} (MG : ModelGraph Worlds) (X : Worlds) (P : Formula) :
      P Xevaluate (↑MG) X P

      Additional Q relations for the completeness proof #

      def Qtests {W : Finset (Finset Formula)} (R : WWProp) (F : List Formula) :
      WWProp

      Q_F - for a list F of tests (instead of a set in the notes).

      Equations
      Instances For
        def Qsteps {W : Finset (Finset Formula)} (R : WWProp) :
        List ProgramWWProp

        Q_δ for a list δ of programs.

        Equations
        Instances For
          @[simp]
          theorem Qsteps_single {a✝ : Finset (Finset Formula)} {R : a✝a✝Prop} {α : Program} {v w : a✝} :
          Qsteps R [α] v w Modelgraphs.Q R α v w
          theorem Qsteps_append {a✝ : Finset (Finset Formula)} {R : a✝a✝Prop} {δ1 δ2 : List Program} {v w : a✝} :
          Qsteps R (δ1 ++ δ2) v w ∃ (u : a✝), Qsteps R δ1 v u Qsteps R δ2 u w
          def Qcombo {W : Finset (Finset Formula)} (R : WWProp) (F : List Formula) (δ : List Program) :
          WWProp

          Q_Fδ for a list of tests F and a list or programs δ.

          Equations
          Instances For
            theorem cpHelpA {W : Finset (Finset Formula)} (R : WWProp) (α : Program) ( : List Formula × List Program) :
            Dset α∀ (v w : W), Qcombo R .1 .2 v wModelgraphs.Q R α v w

            Q_Fδ v w implies Q v w.