CASL2Modal.hs revision 2b2f3b72e82e28b34db9c69af2d1ec38f228272e
e21e5f0fa66bf80e14cfd3f571e09b3952e46ad9Alexis TsogiasModule : $Header$
e9458b1a7a19a63aa4c179f9ab20f4d50681c168Jens ElknerDescription : embedding from CASL to ModalCASL
409eb8adf8c7ee0609aef256b67f5dfad2fb6386Alexis TsogiasCopyright : (c) Till Mossakowski and Uni Bremen 2004
409eb8adf8c7ee0609aef256b67f5dfad2fb6386Alexis TsogiasLicense : similar to LGPL, see HetCATS/LICENSE.txt or LIZENZ.txt
e21e5f0fa66bf80e14cfd3f571e09b3952e46ad9Alexis TsogiasMaintainer : luecke@informatik.uni-bremen.de
e21e5f0fa66bf80e14cfd3f571e09b3952e46ad9Alexis TsogiasStability : provisional
fc09e0a6af734edbd944dd8082bb51985c233b43Alexis TsogiasPortability : non-portable (imports Logic.Logic)
fc09e0a6af734edbd944dd8082bb51985c233b43Alexis TsogiasThe embedding comorphism from CASL to ModalCASL.
1e622ddf5a057555db1924ddc88475c695c6f7f2Alexis Tsogiasmodule Comorphisms.CASL2Modal (CASL2Modal(..)) where
e21e5f0fa66bf80e14cfd3f571e09b3952e46ad9Alexis Tsogiasimport qualified Data.Set as Set
1a38107941725211e7c3f051f7a8f5e12199f03acmaeder-- | The identity of the comorphism
1e622ddf5a057555db1924ddc88475c695c6f7f2Alexis Tsogiasdata CASL2Modal = CASL2Modal deriving (Show)
1e622ddf5a057555db1924ddc88475c695c6f7f2Alexis Tsogiasinstance Language CASL2Modal -- default definition is okay
87d946b3c13ffd7f6391aa796e786c2b31b122b1Jonathan von Schroederinstance Comorphism CASL2Modal
87d946b3c13ffd7f6391aa796e786c2b31b122b1Jonathan von Schroeder CASL CASL_Sublogics
e21e5f0fa66bf80e14cfd3f571e09b3952e46ad9Alexis Tsogias CASLBasicSpec CASLFORMULA SYMB_ITEMS SYMB_MAP_ITEMS
87d946b3c13ffd7f6391aa796e786c2b31b122b1Jonathan von Schroeder Symbol RawSymbol Q_ProofTree
1a38107941725211e7c3f051f7a8f5e12199f03acmaeder M_BASIC_SPEC ModalFORMULA SYMB_ITEMS SYMB_MAP_ITEMS
e21e5f0fa66bf80e14cfd3f571e09b3952e46ad9Alexis Tsogias Symbol RawSymbol () where
fc09e0a6af734edbd944dd8082bb51985c233b43Alexis Tsogias sourceLogic CASL2Modal = CASL
7dc37844730a8b23973139e9720574382de109e7Alexis Tsogias sourceSublogic CASL2Modal = SL.top
7dc37844730a8b23973139e9720574382de109e7Alexis Tsogias targetLogic CASL2Modal = Modal
1a38107941725211e7c3f051f7a8f5e12199f03acmaeder mapSublogic CASL2Modal _ = Just ()
fc09e0a6af734edbd944dd8082bb51985c233b43Alexis Tsogias map_theory CASL2Modal = return . simpleTheoryMapping mapSig mapSen
7dc37844730a8b23973139e9720574382de109e7Alexis Tsogias map_morphism CASL2Modal = return . mapMor
7dc37844730a8b23973139e9720574382de109e7Alexis Tsogias map_sentence CASL2Modal _ = return . mapSen
7dc37844730a8b23973139e9720574382de109e7Alexis Tsogias map_symbol CASL2Modal = Set.singleton . mapSym
7dc37844730a8b23973139e9720574382de109e7Alexis Tsogias has_model_expansion CASL2Modal = True
7dc37844730a8b23973139e9720574382de109e7Alexis Tsogias is_weakly_amalgamable CASL2Modal = True
7dc37844730a8b23973139e9720574382de109e7Alexis TsogiasmapSig :: CASLSign -> MSign
8fb127028cb7dd361e348a3252e33487f73428bcJonathan von Schroeder (emptySign emptyModalSign) {sortSet = sortSet sign
409eb8adf8c7ee0609aef256b67f5dfad2fb6386Alexis Tsogias , sortRel = sortRel sign
1a38107941725211e7c3f051f7a8f5e12199f03acmaeder , opMap = opMap sign
e21e5f0fa66bf80e14cfd3f571e09b3952e46ad9Alexis Tsogias , assocOps = assocOps sign
81e71677da25aee1caa7fef177c45ddd69bbf22eJonathan von Schroeder , predMap = predMap sign }
_ -> error "CASL2Modal.mapSen"
_ -> error "CASL2Modal.mapTERM"