CASL2HasCASL.hs revision 8731f7b93b26083dc34a2c0937cd6493b42f2c2c
649fdc0d0502d62d160c150684356fef2c273484Eugen Kuksa
649fdc0d0502d62d160c150684356fef2c273484Eugen Kuksa-- needs ghc -fglasgow-exts -package data
649fdc0d0502d62d160c150684356fef2c273484Eugen Kuksa
649fdc0d0502d62d160c150684356fef2c273484Eugen Kuksa{- HetCATS/CASL2HasCASL.hs
649fdc0d0502d62d160c150684356fef2c273484Eugen Kuksa $Id$
649fdc0d0502d62d160c150684356fef2c273484Eugen Kuksa Till Mossakowski
649fdc0d0502d62d160c150684356fef2c273484Eugen Kuksa
649fdc0d0502d62d160c150684356fef2c273484Eugen Kuksa The embedding comorphism from CASL to HasCASL.
649fdc0d0502d62d160c150684356fef2c273484Eugen Kuksa
649fdc0d0502d62d160c150684356fef2c273484Eugen Kuksa-}
649fdc0d0502d62d160c150684356fef2c273484Eugen Kuksa
649fdc0d0502d62d160c150684356fef2c273484Eugen Kuksamodule Comorphisms.CASL2HasCASL where
649fdc0d0502d62d160c150684356fef2c273484Eugen Kuksa
649fdc0d0502d62d160c150684356fef2c273484Eugen Kuksaimport Logic.Logic
649fdc0d0502d62d160c150684356fef2c273484Eugen Kuksaimport Logic.Comorphism
649fdc0d0502d62d160c150684356fef2c273484Eugen Kuksaimport qualified Common.Lib.Map as Map
649fdc0d0502d62d160c150684356fef2c273484Eugen Kuksaimport Common.Lib.Set as Set
649fdc0d0502d62d160c150684356fef2c273484Eugen Kuksaimport Data.Dynamic
649fdc0d0502d62d160c150684356fef2c273484Eugen Kuksa
649fdc0d0502d62d160c150684356fef2c273484Eugen Kuksa-- CASL
649fdc0d0502d62d160c150684356fef2c273484Eugen Kuksaimport CASL.Logic_CASL
649fdc0d0502d62d160c150684356fef2c273484Eugen Kuksaimport CASL.AS_Basic_CASL
649fdc0d0502d62d160c150684356fef2c273484Eugen Kuksaimport CASL.Sublogic
649fdc0d0502d62d160c150684356fef2c273484Eugen Kuksaimport CASL.StaticAna
649fdc0d0502d62d160c150684356fef2c273484Eugen Kuksaimport CASL.Morphism
649fdc0d0502d62d160c150684356fef2c273484Eugen Kuksa
649fdc0d0502d62d160c150684356fef2c273484Eugen Kuksaimport HasCASL.Logic_HasCASL
649fdc0d0502d62d160c150684356fef2c273484Eugen Kuksaimport HasCASL.As
649fdc0d0502d62d160c150684356fef2c273484Eugen Kuksaimport HasCASL.Le
649fdc0d0502d62d160c150684356fef2c273484Eugen Kuksaimport HasCASL.Symbol
649fdc0d0502d62d160c150684356fef2c273484Eugen Kuksaimport HasCASL.Morphism
649fdc0d0502d62d160c150684356fef2c273484Eugen Kuksa
649fdc0d0502d62d160c150684356fef2c273484Eugen Kuksa-- The identity of the comorphism
649fdc0d0502d62d160c150684356fef2c273484Eugen Kuksadata CASL2HasCASL = CASL2HasCASL deriving (Show)
649fdc0d0502d62d160c150684356fef2c273484Eugen Kuksainstance Language CASL2HasCASL -- default definition is okay
649fdc0d0502d62d160c150684356fef2c273484Eugen Kuksa
649fdc0d0502d62d160c150684356fef2c273484Eugen Kuksainstance Comorphism CASL2HasCASL
649fdc0d0502d62d160c150684356fef2c273484Eugen Kuksa CASL CASL.Sublogic.CASL_Sublogics
649fdc0d0502d62d160c150684356fef2c273484Eugen Kuksa BASIC_SPEC Sentence SYMB_ITEMS SYMB_MAP_ITEMS
649fdc0d0502d62d160c150684356fef2c273484Eugen Kuksa Sign
649fdc0d0502d62d160c150684356fef2c273484Eugen Kuksa CASL.Morphism.Morphism
CASL.Morphism.Symbol CASL.Morphism.RawSymbol ()
HasCASL HasCASL_Sublogics
BasicSpec Term SymbItems SymbMapItems
HasCASL.Le.Env
HasCASL.Morphism.Morphism
HasCASL.Morphism.Symbol HasCASL.Morphism.RawSymbol () where
sourceLogic _ = CASL
sourceSublogic _ = CASL_SL
{ has_sub = False, -- no subsorting in HasCASL yet...
has_part = True,
has_cons = True,
has_eq = True,
has_pred = True,
which_logic = FOL
}
targetLogic _ = HasCASL
targetSublogic _ = ()
map_sign _ = mapSignature
--map_morphism _ morphism1 -> Maybe morphism2
--map_sentence _ sign1 -> sentence1 -> Maybe sentence2
--map_symbol :: cid -> symbol1 -> Set symbol2
sortTypeinfo :: TypeInfo
sortTypeinfo = TypeInfo { typeKind = star,
, otherTypeKinds = [],
, superTypes = [],
, typeDefn = NoTypeDefn
}
mapSignature :: CASL.StaticAna.Sign -> Maybe(HasCASL.Le.Env,[Term])
mapSignature sign = Just (HasCASL.Le.Env {
classMap = Map.empty,
typeMap = Map.fromList $ map (\s -> (s,sortTypeinfo))
$ Set.toList $ sortSet sign,
assumps = undefined, --opMap sign predMap sign,
HasCASL.Le.sentences = [],
HasCASL.Le.envDiags = [],
counter = 1
}, [])