Bisimulation invariance for BSML #
The carrier-level bisimulation substrate (WorldBisim, StateBisim, and
the Lemma 3.7 transport lemmas) lives in Core/Logic/Modal/Bisimulation.lean,
shared across the modal team logics. This file specialises it to BSML: the
modal-depth measure on BSMLFormula and the headline invariance result
(Theorem 3.8) for BSML's bilateral evaluation.
Main declarations #
BSMLFormula.modalDepth— modal depth (page 9): atoms/NE are 0,conj/disjtake max,possincrements.bisim_invariant_eval— Theorem 3.8 for BSML:k-bisimilar states agree onevalfor all formulas of modal depth≤ k, for both polarities.
Implementation notes #
The bisim-invariance proof inducts on the formula, handling both polarities
(eval M b φ s) jointly at each step. The negation case flips polarity
without changing depth; the modal case uses StateBisim.accessImage
(Lemma 3.7(i)) to recurse at depth k; conjunction and disjunction use
StateBisim.splitPreserve (Lemma 3.7(ii)) for the split-existential clauses
(conj-antiSupport and disj-support).
Todo #
- Hennessy-Milner direction (Theorem 3.3):
k-equivalence impliesk-bisimilarity, via Hintikka formulas. Requires a finite atom set hypothesis ([Fintype Atom]) for the characteristic-formula construction. Deferred — Theorem 3.8 alone is enough for the expressive-completeness side of [AAY24] §3. - Bisim invariance for
BSMLOr.evalandBSMLEmpty.eval. Same shape with one new case each (gdisjis structurally likesupport_conjat the team level;emptreduces to support of the inner formula ors = ∅, both bisim-preserved).
Modal depth #
Modal depth of a BSMLFormula (page 9 of [AAY24]).
Atoms and NE are 0; neg preserves depth; conj and disj take
the max; poss increments.
Equations
- (Core.Logic.Modal.BSML.BSMLFormula.atom a).modalDepth = 0
- Core.Logic.Modal.BSML.BSMLFormula.ne.modalDepth = 0
- ψ.neg.modalDepth = ψ.modalDepth
- (ψ₁.conj ψ₂).modalDepth = max ψ₁.modalDepth ψ₂.modalDepth
- (ψ₁.disj ψ₂).modalDepth = max ψ₁.modalDepth ψ₂.modalDepth
- ψ.poss.modalDepth = ψ.modalDepth + 1
Instances For
Theorem 3.8: bisimulation invariance for BSML #
Theorem 3.8 of [AAY24] specialised to BSML:
if s ⇌_k s' and φ : BSMLFormula Atom has modal depth ≤ k, then
eval M b φ s ↔ eval M' b φ s' for both polarities.
Proved by structural induction on φ, with both polarities handled
jointly at each step. The neg case flips polarity without changing
depth; the poss case uses Lemma 3.7(i) to recurse at depth k;
conjunction and disjunction use Lemma 3.7(ii) for the split-existential
clauses (conj-antiSupport and disj-support).