From winning strategies to model graphs, part 3: the existence lemmas (Section 6.3) #
This continues Pdl/BuildTreeModel.lean. Here we prove the existence lemmas
6.18, 6.19 and 6.20 that are needed for Theorem 6.21 (strmg).
The loaded diamond existence lemma (Lemma 6.18) #
Version of PreState.atomicLoadedStep with the loaded diamond given in π.wForms.
The claim of Lemma 6.18 for a fixed program α, where the size of the sub-BuildTree
we are currently at (mπ.btAt) is bounded by n. This n is used for the inner induction.
Here π is the pre-state we start at and mπ is a Match witnessing where it ends,
and ρ is the pre-state we reach.
Note that we use Rel from BuildTree.toModel as the R to use Modelgraphs.Q.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Lemma 6.18 for the program α, without any bound on where we are in the BuildTree.
Equations
- LoadedExists bt α = ∀ (n : ℕ), LoadedExistsB bt α n
Instances For
Iterating Lemma 6.18 along a list of programs.
Lemma 6.18, the loaded diamond existence lemma.
If the loaded diamond ~'⌊α⌋ξ occurs in the pre-state π, then there is a pre-state ρ
with Q α (Λ⁻ π) (Λ⁻ ρ) that has ~''ξ. Moreover, if ξ is still loaded then ρ is
reached without going up in the BuildTree.
Note that the claim is abbreviated by LoadedExists bt α.
The proof is by an outer induction on the length of α and an inner induction on the size
of the sub-BuildTree we are at.
If ~'⌊α⌋φ occurs in the pre-state π then there is a pre-state ρ reached from π by
Q α that contains ~''φ. This is a consequence of Lemma 6.18 PreState.loadedExists, but
omits the bound-related claims used for induction loading.
Again note that we use Rel from BuildTree.toModel as the R to use Modelgraphs.Q.
The free diamond existence lemma (Lemma 6.19) #
To load a free diamond ~⌌·a⌍chi with the rule (L+) we first have to make the sequent free
using (L-), and on the way we may have to go to the companion of a free repeat.
The modal step at the end of a Match, landing in a pre-state:
if we are at a basic sequent loaded with ~'⌊·a⌋ξ then there is a pre-state that has ~''ξ
and all a-successors of the boxes we had.
Lemma 6.19: If a free diamond ~⌈·a⌉χ with an atomic program occurs in the pre-state
π, then there is an a-successor pre-state ρ of π that has ~''χ, maximally loaded.
The free diamond existence lemma (Lemma 6.20) #
Iterating Lemma 6.18 along a list of programs, formulated with Qsteps.
From a pre-state that has ~''(loadBoxes γs ξ) we reach one that has ~''ξ.
Combining Lemma 6.19 with Lemma 6.18: if the free diamond ~⌈·a⌉⌈⌈γs⌉⌉φ is in the
pre-state π, then we can make the ·a step and then follow γs to reach a pre-state
containing ~φ.
The claim used to prove Lemma 6.20: if the free diamond ~⌈α⌉φ occurs in the
pre-state π, then there is a pre-state ρ with Q α (Λ⁻ π) (Λ⁻ ρ) that contains ~φ.