81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroeder{-# LANGUAGE MultiParamTypeClasses, TypeSynonymInstances, FlexibleInstances #-}
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroeder{- |
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von SchroederLicense : GPLv2 or higher, see LICENSE.txt
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroeder
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von SchroederStability : provisional
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von SchroederPortability : non-portable (imports Logic.Logic)
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroeder
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von SchroederThe embedding comorphism from CASL to HybridCASL.
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroeder
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroeder-}
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroeder
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroedermodule Comorphisms.CASL2Hybrid (CASL2Hybrid (..)) where
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroeder
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroederimport Logic.Logic
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroederimport Logic.Comorphism
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroederimport qualified Data.Set as Set
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroederimport Common.ProofTree
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroeder-- CASL
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroederimport CASL.Logic_CASL
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroederimport CASL.Sublogic as SL
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroederimport CASL.Sign
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroederimport CASL.AS_Basic_CASL
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroederimport CASL.Morphism
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroeder
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroeder-- HybridCASL
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroederimport Hybrid.Logic_Hybrid
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroederimport Hybrid.AS_Hybrid
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroederimport Hybrid.HybridSign
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroeder
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroeder-- | The identity of the comorphism
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroederdata CASL2Hybrid = CASL2Hybrid deriving (Show)
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroeder
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroederinstance Language CASL2Hybrid -- default definition is okay
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroeder
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroederinstance Comorphism CASL2Hybrid
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroeder CASL CASL_Sublogics
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroeder CASLBasicSpec CASLFORMULA SYMB_ITEMS SYMB_MAP_ITEMS
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroeder CASLSign
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroeder CASLMor
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroeder Symbol RawSymbol ProofTree
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroeder Hybrid ()
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroeder H_BASIC_SPEC HybridFORMULA SYMB_ITEMS SYMB_MAP_ITEMS
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroeder HSign
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroeder HybridMor
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroeder Symbol RawSymbol () where
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroeder sourceLogic CASL2Hybrid = CASL
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroeder sourceSublogic CASL2Hybrid = SL.top
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroeder targetLogic CASL2Hybrid = Hybrid
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroeder mapSublogic CASL2Hybrid _ = Just ()
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroeder map_theory CASL2Hybrid = return . embedCASLTheory emptyHybridSign
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroeder map_morphism CASL2Hybrid = return . mapCASLMor emptyHybridSign emptyMorExt
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroeder map_sentence CASL2Hybrid _ = return . mapFORMULA
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroeder map_symbol CASL2Hybrid _ = Set.singleton . id
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroeder has_model_expansion CASL2Hybrid = True
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroeder is_weakly_amalgamable CASL2Hybrid = True
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroeder isInclusionComorphism CASL2Hybrid = True