Soundness (Section 6) #
Soundness of the PDL rules #
The PDL rules are sound.
Companion, cEdge, etc. #
To get the companion of a LoadedPathRepeat
we rewind the path with the lpr value.
The succ
is there because the lpr values are indices of the history starting with 0, but
PathIn.rewind 0
would do nothing.
Equations
- companionOf s lpr x✝ = s.rewind (⋯ ▸ ↑lpr).succ
Instances For
s ♥ t
means s
is a LoadedPathRepeat
and the companionOf s
is t
.
Equations
- s ♥ t = ∃ (lpr : LoadedPathRepeat (tabAt s).fst (tabAt s).snd.fst) (h : (tabAt s).snd.snd = Tableau.lrep lpr), t = companionOf s lpr h
Instances For
Equations
- «term_♥_» = Lean.ParserDescr.trailingNode `«term_♥_» 1022 1023 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " ♥ ") (Lean.ParserDescr.cat `term 1023))
Instances For
Equations
- «term_◃_» = Lean.ParserDescr.trailingNode `«term_◃_» 1022 1023 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " ◃ ") (Lean.ParserDescr.cat `term 1023))
Instances For
Equations
- «term_◃⁺_» = Lean.ParserDescr.trailingNode `«term_◃⁺_» 1022 1023 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " ◃⁺ ") (Lean.ParserDescr.cat `term 1023))
Instances For
Equations
- «term_◃*_» = Lean.ParserDescr.trailingNode `«term_◃*_» 1022 1023 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " ◃* ") (Lean.ParserDescr.cat `term 1023))
Instances For
≡ᶜ and Clusters #
Equations
- «term_≡ᶜ_» = Lean.ParserDescr.trailingNode `«term_≡ᶜ_» 1022 1023 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " ≡ᶜ ") (Lean.ParserDescr.cat `term 1023))
Instances For
We have before s t
iff there is a path from s to t but not from t to s.
This means the cluster of s
comes before the cluster of t
in tab
.
NB: The notes use ◃* here but we use ◃⁺. The definitions are equivalent.
Instances For
s <ᶜ t
means there is a ◃-path from s
to t
but not from t
to s
.
This means t
is simpler to deal with first.
Equations
- «term_<ᶜ_» = Lean.ParserDescr.trailingNode `«term_<ᶜ_» 1022 1023 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " <ᶜ ") (Lean.ParserDescr.cat `term 1023))
Instances For
The <ᶜ
relation is transitive.
The transitive closure of <ᶜ
(which in fact is the same as <ᶜ
) is irreflexive.
The before
relation in a tableau is well-founded.
The before
relation in a tableau is converse well-founded.
Soundness #
Helper to deal with local tableau in loadedDiamondPaths
.
Soundness of loading and repeats: a tableau can immitate all moves in a model.