Characteristic formulas for BSML #
The world type of depth k of a world, over n atoms enumerated by e, records the truth values
of these atoms and, for positive k, the set of depth k - 1 types of the world's successors.
Each type has a characteristic (Hintikka) formula, an NE-free formula that holds at a world
exactly when the world has that type. Two worlds have the same type exactly when they are
k-bisimilar, once e enumerates every atom. The strong Hintikka formula of a set of types T is
supported by a team exactly when the types of its worlds are those in T.
Main definitions #
verum,bigConj,bigDisj,bigDisjNE:⊤asp ∨ ¬p, finite conjunction and disjunction, and finite disjunction with each disjunct conjoined withNE.WorldType n k,worldType e M k w: the world types, and the type of a world.hintikka e k τ,strongHintikka e T: the Hintikka formulas of a type and of a set of types.
Main results #
realize_hintikka_iff: the Hintikka formula ofτholds atwiffwhas typeτ.worldType_eq_iff_worldBisim: two worlds have the same type iff they arek-bisimilar.realize_hintikka_worldType_iff: the Hintikka formula ofw's type holds atw'iffw'isk-bisimilar tow.support_strongHintikka_iff: a team supports the strong Hintikka formula ofTiff the types of its worlds are those inT.
Implementation notes #
[AAY24] Definition 3.2 conjoins the depth k Hintikka formula of the world at
depth k + 1; here only its literals are conjoined, which is equivalent and needs no truncation of
types.
References #
- [AAY24] Aloni, Anttila and Yang, State-based Modal Logics for Free Choice
⊤ and finite conjunction #
The tautology p ∨ ¬p for the default atom is NE-free, true at every world and
supported by every team. BSML has no tautology without atoms.
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
Finite disjunction #
Finite disjunction of a list of formulas; the empty disjunction is ⊥.
Equations
- BSML.bigDisj [] = BSML.Formula.falsum
- BSML.bigDisj (φ :: rest) = φ.disj (BSML.bigDisj rest)
Instances For
bigDisjNE L is the disjunction of the formulas of L, each conjoined with NE.
Equations
- BSML.bigDisjNE L = BSML.bigDisj (List.map (fun (x : BSML.Formula Atom) => x.conj BSML.Formula.ne) L)
Instances For
World types #
A world type of depth k over n atoms gives the truth values of the atoms and, at positive
depth, the set of the depth k - 1 types of the successors.
Equations
- BSML.WorldType n 0 = (Fin n → Bool)
- BSML.WorldType n k.succ = ((Fin n → Bool) × Finset (BSML.WorldType n k))
Instances For
Equations
- BSML.WorldType.instDecidableEq k = Classical.decEq (BSML.WorldType n k)
Equations
- BSML.WorldType.instFintype 0 = { elems := BSML.WorldType.instFintype._aux_1, complete := ⋯ }
- BSML.WorldType.instFintype k.succ = instFintypeProd (Fin n → Bool) (Finset (BSML.WorldType n k))
worldType e M k w is the type of depth k of the world w, over the atoms enumerated
by e.
Equations
- BSML.worldType e M 0 x✝ = fun (i : Fin n) => decide (M.val (e i) x✝)
- BSML.worldType e M k.succ x✝ = (fun (i : Fin n) => decide (M.val (e i) x✝), Finset.image (BSML.worldType e M k) (M.access x✝))
Instances For
Hintikka formulas #
literal e i b is the i-th atom if b holds and its negation otherwise.
Equations
- BSML.literal e i b = if b = true then BSML.Formula.atom (e i) else (BSML.Formula.atom (e i)).neg
Instances For
literals e a conjoins the literals of the assignment a.
Equations
- BSML.literals e a = BSML.bigConj (List.map (fun (i : Fin n) => BSML.literal e i (a i)) (List.finRange n))
Instances For
The Hintikka formula of a type conjoins its literals and, at positive depth, the possibility of each successor type and the necessity of their disjunction.
Equations
- One or more equations did not get rendered due to their size.
- BSML.hintikka e 0 a = BSML.literals e a
Instances For
The strong Hintikka formula of a set of types T is the disjunction of the formulas
χ_τ ∧ NE for τ ∈ T.
Equations
- BSML.strongHintikka e T = BSML.bigDisjNE (List.map (BSML.hintikka e k) T.toList)
Instances For
Hintikka formulas characterize types #
The Hintikka formula of τ holds at a world exactly when the world has type τ.
Two worlds have the same type exactly when they are k-bisimilar, once e enumerates every
atom.
The Hintikka formula of the type of w holds at w' exactly when w' is k-bisimilar to w
([AAY24] Theorem 3.3).
Team support #
A team supports a disjunction of Hintikka formulas iff each of its worlds has one of their types.
A team supports the strong Hintikka formula of T exactly when the types of its worlds are
those in T ([AAY24] Definition 3.10).