How the rules of a tableau act on the two components #
This file collects the facts about the rules of a (split) tableau that the facts about a
proper cluster in Pdl.ClusterFacts are proved from:
- vocabulary preservation (Lemma 9.2): along the tableau the vocabulary of each of the two components only shrinks;
- right rules do not change the left component, and left rules do not change the right component (provided the loaded formula is on the right);
- a node with a coarse child loaded on the right is itself loaded on the right, and a node with children applies a left or a right rule;
- loaded-path repeats and the Dershowitz-Manna measure: going down along left rules strictly decreases the label.
Entailment from the left component of a node #
Λ₁(t) ⊨ φ: the formula φ follows from the left component of the fine node t.
Equations
- t.leftEntails φ = ∀ (W : Type) (M : KripkeModel W) (w : W), (∀ ψ ∈ t.label.left, evaluate M w ψ) → evaluate M w φ
Instances For
Vocabulary preservation #
Lemma 9.2 of the paper: along the tableau the vocabulary of each of the two components
only shrinks. "By inspection of the rules": for local rules this is
localRule_does_not_increase_vocab_L and localRule_does_not_increase_vocab_R, and for
the PDL rules we check the six cases directly.
Membership in the vocabulary of a Finset of formulas.
This is Finset.mem_fvoc from Pdl/Interpolation/Local.lean.
A local rule application does not increase the vocabulary of the left component.
This is the left half of localRuleApp_does_not_increase_jvoc.
A local rule application does not increase the vocabulary of the right component.
This is the right half of localRuleApp_does_not_increase_jvoc.
Inside a local tableau the vocabulary of the left component only shrinks.
Inside a local tableau the vocabulary of the right component only shrinks.
Right rules do not change the left component #
The two "right" local rules only act on the right component and on a loaded formula on the
right, so they leave the left component of the sequent unchanged. The (M) rule does
change the left component, but it is a Tableau.pdl step and hence only applies to a basic
sequent, whose right component is then basic as well.
Where a right rule is applied, it is either a local rule or the node is basic (because
the (M) rule is only applied at basic nodes).
At a node where a right rule is applied to a non-basic right component, all children have the same left component as the node itself.
A right local rule cannot be applied when the right component of the sequent is basic: the rule only looks at the right component and at a loaded formula on the right, so it would also be applicable to the sequent with an empty left component.
The right component of the child obtained by applying the modal rule (M) to a sequent
whose loaded formula ~⌊·A⌋ξ is on the right. Note that it only depends on A, on ξ and
on the right component R of the sequent, and hence only on Λ₂ of the node.
Equations
- modRChildRightOnly A (AnyFormula.normal φ) R = (∅, {~φ} ∪ Finset.projection A R, none)
- modRChildRightOnly A (AnyFormula.loaded χ) R = (∅, Finset.projection A R, some (Sum.inr (~'χ)))
Instances For
At a fine node with a basic right component where a right rule is applied, that rule
is one of the three PdlRules acting on the right — and in particular the node is a node
in the coarse sense. The three cases are (L+), where the node is free, (L-), whose
unique child is free, and the modal rule (M), whose unique child has the projected left
component and a right component determined by Λ₂ of the node.
Left rules do not change the right component #
Dually, a left local rule leaves the right component of the sequent unchanged, provided the
loaded formula is on the right (otherwise the (¬) rule for the loaded formula on the left
would change the Olf). The left PdlRules (L+), (L-) and (M) are all only
applicable when the loaded formula is not on the right.
Where a left rule is applied, it is a local rule, unless the loaded formula is not on
the right (which for a node of a LoadedCluster cannot happen).
Part of Lemma 9.7 (c): at a node with the loaded formula on the right where a left rule is applied, all children have the same right component as the node itself.
Local invertibility of a left rule, for the left component only: if the left component of the premise holds at a world, then so does the left component of one of the conclusions.
Note that localRuleTruth does not give this, since it also speaks about the right
component, which need not hold at the world in question. That the loaded formula is on the
right is needed to exclude the rule for a loaded formula on the left.
Local invertibility at a fine node where a left rule is applied, for the left component only: if a formula follows from the left component of every child, then it follows from the left component of the node itself.
Loading on the right is inherited upwards, and rules with children are left or right #
Two ingredients for the descent of Lemma 9.7 (d) below. First, a fine node that has a
coarse child loaded on the right is itself loaded on the right — this is what lets us apply
FinePathIn.children_rightOnly_eq_of_usesLeftRule at the fine nodes of a cluster. Second,
a fine node with children applies a left or a right rule: the only local rules that are
neither are the closing rules, and those have no children.
If a child of a local rule application is loaded on the right, then so is its premise. The local rules for a loaded formula on the left never produce a loading on the right, and the one-sided rules do not change the loaded formula at all.
If some end node of a local tableau is loaded on the right, then so is its root.
The end nodes below a local path are end nodes of the local tableau at that path.
A fine node that is not a coarse node and has a coarse child loaded on the right is
itself loaded on the right. (For coarse nodes this is false: the (L+) rule loads a free
node.)
A local rule application with at least one child is a left or a right rule: only the
closing rules (¬) are neither, and they have no results.
A fine node that has children applies a left or a right rule.
Loaded-path repeats and the Dershowitz-Manna measure #
The three lemmas here are what replaces the paper's Fact lprAreCritical in the proof of
Lemma 9.7 (d) below: instead of showing that the modal rule is applied between a companion
and its repeat we show that going down along left rules strictly decreases the
Dershowitz-Manna measure of the label, while a companion carries exactly the same label as
its repeat.
A fine node whose base is a loaded-path repeat is that coarse node itself, because a
loaded-path repeat is a leaf and hence has no local tableau with internal nodes.
This would better belong next to atBigRoot in Pdl/Interpolation/FinePath.lean.
Where a left rule is applied at a node with the loaded formula on the right, the labels
of all children are strictly smaller in the Dershowitz-Manna ordering: by
FinePathIn.leftRuleStep the rule applied there is a local rule, and local rules decrease
the measure.