Characteristic (Hintikka) formulas for BSML — foundation #
The expressive-completeness converse for BSML (expressiveCompleteness_converse
in BSML/ExpressiveCompleteness.lean) needs characteristic formulas: for
each world w and depth k, an NE-free formula χ_w^k such that a singleton
{v} supports it exactly when v is k-bisimilar to w. This file builds the
foundation — finite conjunction over an NE-free language and the depth-0
(atomic type) characterisation — and proves it against the classical
single-world evaluation classicalEval (BSML/Bridge.lean).
Working through classicalEval is the simplification that makes this tractable:
characteristic formulas are NE-free, so by Bridge.neFree_flat_eq their team
support reduces to pointwise classicalEval, and the construction becomes the
standard classical modal Hintikka characterisation.
Main declarations #
verum,bigConj—⊤(asp ∨ ¬p) and finite conjunction, both NE-free.atomicType M w— the depth-0 Hintikka formula: the conjunction of atomic literals true atw.charFormula M k w— the depth-kHintikka formula: atomic type,◇of each successor type, and□of the successor-type disjunction.classicalEval_charFormula_iff_bisim— the characterisation:vclassically satisfiesχ_w^kiffwandvarek-bisimilar.support_charFormula_singleton_iff_bisim— the team-semantic face: singleton support ofχ_w^kisk-bisimilarity.
Todo #
- Team characteristic formulas (
θ_s^k = ⋁_{w ∈ s} (χ_w^k ∧ NE), Definition 3.10 of [AAY24]) and the convex, union-closed normal form that dischargesexpressiveCompleteness_converse.
⊤ and finite conjunction #
⊤ as an NE-free BSML formula: p ∨ ¬p for the default atom. Classically
evaluates to true at every world; supported by every team. Requires an
atom ([Inhabited Atom]): BSML has no atom-free closed ⊤.
Equations
- BSML.verum = (BSML.Formula.atom default).disj (BSML.Formula.atom default).neg
Instances For
Finite conjunction of a list of formulas; the empty conjunction is ⊤.
Equations
- BSML.bigConj [] = BSML.verum
- BSML.bigConj (φ :: rest) = φ.conj (BSML.bigConj rest)
Instances For
Atomic type (depth-0 Hintikka formula) #
The atomic type of w: the conjunction over all atoms p of the literal
p (when w ⊨ p) or ¬p (when w ⊭ p). The depth-0 characteristic
formula.
Equations
- BSML.atomicType M w = BSML.bigConj (List.map (fun (p : Atom) => if M.val p w = true then BSML.Formula.atom p else (BSML.Formula.atom p).neg) Finset.univ.toList)
Instances For
The atomic type of w is classically satisfied at v exactly when v and
w assign every atom the same value.
Depth-0 characterisation: w's atomic type is classically satisfied at
v iff v and w are 0-bisimilar. The base case of the characteristic-
formula characterisation.
⊥ and finite disjunction #
⊥ as an NE-free BSML formula: p ∧ ¬p for the default atom. Classically
false at every world.
Equations
- BSML.falsum = (BSML.Formula.atom default).conj (BSML.Formula.atom default).neg
Instances For
Finite disjunction of a list of formulas; the empty disjunction is ⊥.
Equations
- BSML.bigDisj [] = BSML.falsum
- BSML.bigDisj (φ :: rest) = φ.disj (BSML.bigDisj rest)
Instances For
Modal clauses of classical evaluation #
Characteristic formulas #
The depth-k characteristic (Hintikka) formula of w: at depth 0 the
atomic type; at depth k + 1 the atomic type, conjoined with ◇χ_v^k
for each R-successor v and with □ of the disjunction of the
successor types.
Equations
- One or more equations did not get rendered due to their size.
- BSML.charFormula M 0 x✝ = BSML.atomicType M x✝
Instances For
Depth-k characterisation (the Hintikka half of Theorem 3.3 of
[AAY24]): w's depth-k characteristic formula is
classically satisfied at v iff w and v are k-bisimilar.
Team support of the auxiliary connectives #
Team support of a flat disjunction of characteristic formulas: every
world of the team is k-bisimilar to some representative in S.
On singleton teams, support of the characteristic formula is exactly
k-bisimilarity — the team-semantic face of the characterisation, via
the NE-free classical collapse.