Model Graphs (Section 7.1) #
Definition of Model Graphs #
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
- Modelgraphs.Q R (·c) = R c
- Modelgraphs.Q R (?'τ) = fun (v w : ↥W) => v = w ∧ τ ∈ ↑v
- Modelgraphs.Q R (α⋓β) = fun (v w : ↥W) => Modelgraphs.Q R α v w ∨ Modelgraphs.Q R β v w
- Modelgraphs.Q R (α;'β) = Relation.Comp (Modelgraphs.Q R α) (Modelgraphs.Q R β)
- Modelgraphs.Q R (∗α) = Relation.ReflTransGen (Modelgraphs.Q R α)
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
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)
:
@[irreducible]
theorem
Q_then_relate
{Worlds : Finset (Finset Formula)}
(MG : ModelGraph Worlds)
(α : Program)
(X Y : ↥Worlds)
:
Modelgraphs.Q (↑MG).Rel α X Y → relate (↑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.
theorem
truthLemma
{Worlds : Finset (Finset Formula)}
(MG : ModelGraph Worlds)
(X : ↥Worlds)
(P : Formula)
: