smcdel-1.3.0: Symbolic Model Checking for Dynamic Epistemic Logic
Safe HaskellSafe-Inferred
LanguageHaskell2010

SMCDEL.Translations.S5

Description

Converting between S5 Kripke Models and Knowledge Structures

In this module we define and implement translation methods to connect the semantics from the two previous sections. This essentially allows us to switch back and forth between explicit and symbolic model checking methods.

Synopsis

Tools for Equivalence

type StateMap = World -> State Source #

A function mapping worlds to states.

From Knowledge Structures to S5 Kripke Models

From S5 Kripke Models to Knowledge Structures

booloutof :: [Prp] -> [Prp] -> Bdd Source #

BDD to say that exactly this subset of a given vocabulary is true.

kripkeToKnsMulti :: MultipointedModelS5 -> MultipointedKnowScene Source #

Convert a multipointed S5 Kripke model to a knoweldge structure. See also smartKripkeToKns.

obsnobs :: KripkeModelS5 -> Agent -> ([Prp], [Prp]) Source #

Get lists of variables which agent i does (not) observe in model m. This does *not* preserve all information, i.e. does not characterize every possible S5 relation!

descableRels :: KripkeModelS5 -> Bool Source #

Test if all relations can be described using observariables.

smartKripkeToKns :: PointedModelS5 -> Maybe KnowScene Source #

Try to find an equivalent knowledge structure without additional propositions. Will succeed iff valuations are unique and relations can be described using observariables. This is an alternative to kripkeToKnsMulti.

From Knowledge Transformers to S5 Action Models

From S5 Action Models to Knowledge Transformers