81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroeder{-# LANGUAGE MultiParamTypeClasses, TypeSynonymInstances, FlexibleInstances #-}
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von SchroederLicense : GPLv2 or higher, see LICENSE.txt
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von SchroederStability : provisional
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von SchroederPortability : non-portable (imports Logic.Logic)
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von SchroederThe embedding comorphism from CASL to HybridCASL.
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroedermodule Comorphisms.CASL2Hybrid (CASL2Hybrid (..)) where
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroederimport qualified Data.Set as Set
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroeder-- | The identity of the comorphism
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroederdata CASL2Hybrid = CASL2Hybrid deriving (Show)
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroederinstance Language CASL2Hybrid -- default definition is okay
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroederinstance Comorphism CASL2Hybrid
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroeder CASL CASL_Sublogics
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroeder CASLBasicSpec CASLFORMULA SYMB_ITEMS SYMB_MAP_ITEMS
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroeder Symbol RawSymbol ProofTree
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroeder H_BASIC_SPEC HybridFORMULA SYMB_ITEMS SYMB_MAP_ITEMS
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