4033N/A{-# LANGUAGE MultiParamTypeClasses, TypeSynonymInstances, FlexibleInstances #-}
1178N/ADescription : translating a HasCASL subset to Isabelle
1178N/ACopyright : (c) C. Maeder, DFKI 2006
1178N/AMaintainer : Christian.Maeder@dfki.de
1178N/AThe embedding comorphism from HasCASL without subtypes to
1178N/AIsabelle-HOL. Partial functions yield an option or bool result in
1178N/AIsabelle. Case-terms and constructor classes are not supported yet.
2362N/A (MonadicHasCASL2IsabelleHOL (..)) where
1178N/A-- | The identity of the comorphism
1178N/Adata MonadicHasCASL2IsabelleHOL = MonadicHasCASL2IsabelleHOL deriving Show
1178N/Ainstance Language MonadicHasCASL2IsabelleHOL where
1178N/A language_name MonadicHasCASL2IsabelleHOL = "MonadicTranslation"
1178N/Ainstance Comorphism MonadicHasCASL2IsabelleHOL
1178N/A IsabelleMorphism () () () where
1178N/A sourceLogic MonadicHasCASL2IsabelleHOL = HasCASL
1178N/A sourceSublogic MonadicHasCASL2IsabelleHOL = noSubtypes
1178N/A targetLogic MonadicHasCASL2IsabelleHOL = Isabelle
1178N/A mapSublogic cid sl = if sl `isSubElem` sourceSublogic cid
1178N/A map_theory MonadicHasCASL2IsabelleHOL =
1178N/A mapTheory (Old NoSimpLift) simpForOption
1178N/A map_sentence MonadicHasCASL2IsabelleHOL sign =
1178N/A transSentence sign (typeToks sign) (Old NoSimpLift) simpForOption
0N/A isInclusionComorphism MonadicHasCASL2IsabelleHOL = True
1178N/A has_model_expansion MonadicHasCASL2IsabelleHOL = True