{- |
Module : ./Temporal/ModalCaslToMu.hs
Copyright : (c) Klaus Hartke, Uni Bremen 2008
License : GPLv2 or higher, see LICENSE.txt
Maintainer : Christian.Maeder@dfki.de
Stability : experimental
Portability : portable
-}
module ModalCaslToMu where
import Control.Monad as Monad
import Data.Maybe as Maybe
import ModalCasl as Casl
import Mu
{- ----------------------------------------------------------------------------
Convert Modal CASL formulas to formulas of the ยต-Calculus
---------------------------------------------------------------------------- -}
convert :: Casl.StateFormula a -> Maybe (Mu.StateFormula a)
convert (Casl.Diamond phi) = liftM Mu.Diamond (convert phi)
convert (Casl.DiamondPast phi) = liftM Mu.DiamondPast (convert phi)
convert (Casl.BoxPast phi) = liftM Mu.BoxPast (convert phi)
convert' :: Casl.PathFormula a -> Maybe (Mu.PathFormula a)
convert' (Casl.State phi) = liftM Mu.SF (convert phi)
convert' _ = Nothing
-- ----------------------------------------------------------------------------