Comorphisms.hs revision 3b48e17c1da54ee669e70b626d9fbc32ce495b2c
bbae6e6ca0de7f2ffbb44d2c8da179f2b717237fChristian Maeder{-# LANGUAGE MultiParamTypeClasses, TypeSynonymInstances #-}
81d182b21020b815887e9057959228546cf61b6bChristian MaederModule : $Header$
62ecb1e7f8fd9573eea8369657de12c7bf9f4f25Christian MaederDescription : generic CspCASL instance for comorphisms
98890889ffb2e8f6f722b00e265a211f13b5a861Corneliu-Claudiu ProdescuCopyright : (c) Liam O'Reilly, Swansea University 2009
bbae6e6ca0de7f2ffbb44d2c8da179f2b717237fChristian MaederLicense : GPLv2 or higher, see LICENSE.txt
bbae6e6ca0de7f2ffbb44d2c8da179f2b717237fChristian MaederMaintainer : csliam@swansea.ac.uk
fbb66ee3e170624835b99f7aa91980753cb5b472Christian MaederStability : experimental
f3a94a197960e548ecd6520bb768cb0d547457bbChristian MaederPortability : non-portable(import Logic.Logic)
0ea85310d2beb8aa03cac481ad2a6564e6b8ddbcChristian Maederimport CspCASL.AS_CspCASL (CspBasicSpec (..))
bbae6e6ca0de7f2ffbb44d2c8da179f2b717237fChristian Maederimport qualified Data.Set as Set
ee9eddfa6953868fd6fbaff0d9ff68675a13675aChristian Maeder-- | The identity of the comorphism
33a5d53a412ba0a4e5847f7538d6da2e22bd116cChristian Maederdata CspCASL2CspCASL a b = CspCASL2CspCASL a b deriving Show
72b9099aeec0762bae4546db3bc4b48721027bf4Christian MaedercspCASLTrace :: CspCASL2CspCASL () Trace
72b9099aeec0762bae4546db3bc4b48721027bf4Christian MaedercspCASLTrace = CspCASL2CspCASL () Trace
bbae6e6ca0de7f2ffbb44d2c8da179f2b717237fChristian MaedercspCASLFailure :: CspCASL2CspCASL () Failure
72b9099aeec0762bae4546db3bc4b48721027bf4Christian MaedercspCASLFailure = CspCASL2CspCASL () Failure
72b9099aeec0762bae4546db3bc4b48721027bf4Christian Maederinstance (Show a, Show b) => Language (CspCASL2CspCASL a b) where
72b9099aeec0762bae4546db3bc4b48721027bf4Christian Maeder language_name (CspCASL2CspCASL a b) =
72b9099aeec0762bae4546db3bc4b48721027bf4Christian Maeder language_name (GenCspCASL a)
72b9099aeec0762bae4546db3bc4b48721027bf4Christian Maeder ++ "2" ++ language_name (GenCspCASL b)
54ff63bb3b23ef18efbdc51b053a2ca6f348329aChristian Maederinstance (CspCASLSemantics a, CspCASLSemantics b)
54ff63bb3b23ef18efbdc51b053a2ca6f348329aChristian Maeder => Comorphism (CspCASL2CspCASL a b)
62ecb1e7f8fd9573eea8369657de12c7bf9f4f25Christian Maeder (GenCspCASL a) ()
66b0bf1e3102c83f5728cf6cfecbd07444276a5fChristian Maeder CspBasicSpec CspCASLSen SymbItems SymbMapItems
66b0bf1e3102c83f5728cf6cfecbd07444276a5fChristian Maeder CspCASLSign CspCASLMorphism CspSymbol CspRawSymbol ()
66b0bf1e3102c83f5728cf6cfecbd07444276a5fChristian Maeder (GenCspCASL b) ()
42c01284bba8d7c8d995c8dfb96ace57d28ed1bcTill Mossakowski CspBasicSpec CspCASLSen SymbItems SymbMapItems
2bf209888545860dc77b9c3f2198d00eeab30d20Christian Maeder CspCASLSign CspCASLMorphism CspSymbol CspRawSymbol () where
66b0bf1e3102c83f5728cf6cfecbd07444276a5fChristian Maeder sourceLogic (CspCASL2CspCASL a _) = GenCspCASL a
715ffaf874309df081d1e1cd8e05073fc1227729Christian Maeder sourceSublogic _ = ()
715ffaf874309df081d1e1cd8e05073fc1227729Christian Maeder targetLogic (CspCASL2CspCASL _ b) = GenCspCASL b
66b0bf1e3102c83f5728cf6cfecbd07444276a5fChristian Maeder mapSublogic _ _ = Just ()
715ffaf874309df081d1e1cd8e05073fc1227729Christian Maeder map_theory _ = return
60303deac79adb97a71e55a4d66f95f26688f05aChristian Maeder map_morphism _ = return
2bf209888545860dc77b9c3f2198d00eeab30d20Christian Maeder map_sentence _ = const return
60303deac79adb97a71e55a4d66f95f26688f05aChristian Maeder map_symbol _ _ = Set.singleton
60303deac79adb97a71e55a4d66f95f26688f05aChristian Maeder is_model_transportable _ = True
715ffaf874309df081d1e1cd8e05073fc1227729Christian Maeder has_model_expansion _ = True
60303deac79adb97a71e55a4d66f95f26688f05aChristian Maeder is_weakly_amalgamable _ = True
66b0bf1e3102c83f5728cf6cfecbd07444276a5fChristian Maeder isInclusionComorphism _ = True