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
- PDL.Modelgraphs.Q R (PDL.Program.atom_prog c) = R c
- PDL.Modelgraphs.Q R (PDL.Program.test τ) = fun (v w : ↥W) => v = w ∧ τ ∈ ↑v
- PDL.Modelgraphs.Q R (α.union β) = fun (v w : ↥W) => PDL.Modelgraphs.Q R α v w ∨ PDL.Modelgraphs.Q R β v w
- PDL.Modelgraphs.Q R (α.sequence β) = Relation.Comp (PDL.Modelgraphs.Q R α) (PDL.Modelgraphs.Q R β)
- PDL.Modelgraphs.Q R α.star = Relation.ReflTransGen (PDL.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 [MB1988] 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 [BRV2001] 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 #
C3 in notes. Originally MB Lemma 9, page 32, stronger version for induction loading. Now also using Q relation to overwrite tests.
C4 in notes
Additional Q relations for the completeness proof #
Q_F - for a list F of tests (instead of a set in the notes).
Equations
- PDL.Qtests R F x✝¹ x✝ = ((x✝¹ == x✝) = true ∧ ∀ τ ∈ F, PDL.Modelgraphs.Q R (PDL.Program.test τ) x✝¹ x✝)
Instances For
Q_δ for a list δ of programs.
Equations
- PDL.Qsteps R [] x✝¹ x✝ = ((x✝¹ == x✝) = true)
- PDL.Qsteps R (α :: δ) x✝¹ x✝ = Relation.Comp (PDL.Modelgraphs.Q R α) (PDL.Qsteps R δ) x✝¹ x✝
Instances For
Q_Fδ for a list of tests F and a list or programs δ.
Equations
- PDL.Qcombo R F δ = Relation.Comp (PDL.Qtests R F) (PDL.Qsteps R δ)