CASL2CspCASL.hs revision ad270004874ce1d0697fb30d7309f180553bb315
c63ebf815c8a874525cf18670ad74847f7fc7b26Christian MaederModule : $Header$
456238178f89e5a3de2988ee6c8af924297d52d9Christian MaederCopyright : (c) Till Mossakowski and Uni Bremen 2003
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian MaederLicense : similar to LGPL, see HetCATS/LICENSE.txt or LIZENZ.txt
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian MaederMaintainer : M.Roggenbach@swansea.ac.uk
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian MaederStability : provisional
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian MaederPortability : non-portable (imports Logic.Logic)
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian MaederThe embedding comorphism from CASL to CspCASL.
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maederimport qualified Data.Map as Map
9dac90ec2be2a72e03893095461960d483fe2fc2Christian Maederimport CspCASL.AS_CspCASL (BASIC_CSP_CASL_SPEC (..))
ce8b15da31cd181b7e90593cbbca98f47eda29d6Till Mossakowski-- | The identity of the comorphism
e7757995211bd395dc79d26fe017d99375f7d2a6Christian Maederdata CASL2CspCASL = CASL2CspCASL deriving (Show)
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maederinstance Language CASL2CspCASL -- default definition is okay
a1ed34933c266ce85066acb0d7b20c90cb8eb213Christian Maederinstance Comorphism CASL2CspCASL
c0c2380bced8159ff0297ece14eba948bd236471Christian Maeder CASL CASL_Sublogics
404166b9366552e9ec5abb87a37c76ec8a815fb7Klaus Luettich CASLBasicSpec CASLFORMULA SYMB_ITEMS SYMB_MAP_ITEMS
4d56f2fa72e4aec20eb827c11ed49c8cbb7014bdChristian Maeder Symbol RawSymbol ()
8ef75f1cc0437656bf622cec5ac9e8ea221da8f2Christian Maeder BASIC_CSP_CASL_SPEC () SYMB_ITEMS SYMB_MAP_ITEMS
74eed04be26f549d2f7ca35c370e1c03879b28b1Christian Maeder () () () where
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder sourceLogic CASL2CspCASL = CASL
8d97ef4f234681b11bb5924bd4d03adef858d2d2Christian Maeder sourceSublogic CASL2CspCASL = SL.top
f4a2a20e49f41b2afa657e5e64d9e349c7faa091Christian Maeder targetLogic CASL2CspCASL = CspCASL
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder mapSublogic CASL2CspCASL _ = ()
e593b89bfd4952698dc37feced21cefe869d87a2Christian Maeder map_theory CASL2CspCASL = return . simpleTheoryMapping mapSig (const ())
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder map_morphism CASL2CspCASL = return . mapMor
f38b3687c5558128515e34fb85d8b466d22dc300Christian Maeder map_sentence CASL2CspCASL _sig = return . (const ()) -- toSentence sig
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder map_symbol = errMapSymbol -- Set.singleton . mapSym
1aee4aaddde105264c1faf394d88e302c05094ffChristian MaedermapSig :: CASLSign -> CSPSign
51d769d55d88dfa88bdf54bee78d8fa85a2deba8Christian Maeder (emptySign emptyCSPAddSign) {sortSet = sortSet sign
f041c9a6bda23de33a38490e35b831ae18d96b45Christian Maeder , sortRel = sortRel sign
7cc09dd93962a2155c34d209d1d4cd7d7b838264Christian Maeder , opMap = opMap sign
51d769d55d88dfa88bdf54bee78d8fa85a2deba8Christian Maeder , assocOps = assocOps sign
1aee4aaddde105264c1faf394d88e302c05094ffChristian Maeder , predMap = predMap sign }
c3053d57f642ca507cdf79512e604437c4546cb9Christian MaedermapMor :: CASLMor -> CSPMorphism
dcbd32289a7bdf1e6edd06c6ab0698c6a9dbf37aChristian MaedermapMor m = Morphism {msource = mapSig $ msource m
f4a2a20e49f41b2afa657e5e64d9e349c7faa091Christian Maeder , mtarget = mapSig $ mtarget m
f4a2a20e49f41b2afa657e5e64d9e349c7faa091Christian Maeder , sort_map = sort_map m
dcbd32289a7bdf1e6edd06c6ab0698c6a9dbf37aChristian Maeder , fun_map = fun_map m
d0279930f87bf39843e0bd2992a4789322662144Christian Maeder , pred_map = pred_map m
8be81a0578b59f08641da7fad1479e1f9e83c6e9Kristina Sojakova , extended_map =
1aee4aaddde105264c1faf394d88e302c05094ffChristian Maeder CSPAddMorphism { channelMap = Map.empty,