Logic_HasCASL.hs revision b49276c9f50038e0bd499ad49f7bd6444566a834
43b4c41fbb07705c9df321221ab9cb9832460407Christian Maeder{-# OPTIONS -fno-warn-missing-methods #-}
c63ebf815c8a874525cf18670ad74847f7fc7b26Christian Maeder{- HetCATS/HasCASL/Logic_HasCASL.hs
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maeder $Id$
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder Authors: C. Maeder
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maeder Year: 2003
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder Here is the place where the class Logic is instantiated for HasCASL.
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder Also the instances for Syntax an Category.
43b4c41fbb07705c9df321221ab9cb9832460407Christian Maeder
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder todo:
f4a2a20e49f41b2afa657e5e64d9e349c7faa091Christian Maeder - writing real functions
f2f9df2e17e70674f0bf426ed1763c973ee4cde0Christian Maeder
c9a7e6af169a2adfb92f42331cd578065ed83a2bChristian Maeder-}
c9a7e6af169a2adfb92f42331cd578065ed83a2bChristian Maeder
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maedermodule HasCASL.Logic_HasCASL where
68d10d143f29fcff3c637ba24f90e983995ceae6Christian Maeder
96646aed2ae087b942ae23f15bbe729a8f7c43d3Christian Maederimport HasCASL.As
01e383014b555bbcf639c0ca60c5810b3eff83c0Christian Maederimport HasCASL.Le
3b06e23643a9f65390cb8c1caabe83fa7e87a708Till Mossakowskiimport CASL.AS_Basic_CASL(SYMB_ITEMS, SYMB_MAP_ITEMS)
9dac90ec2be2a72e03893095461960d483fe2fc2Christian Maederimport HasCASL.PrintAs
5e5d3e82af3bc2834f8718a52d9f45da80220273Dominik Lueckeimport CASL.Print_AS_Basic
3d905881cf97e122fb28ed5b9a9b0b220c85ec33Martin Kühlimport HasCASL.ParseItem
ce8b15da31cd181b7e90593cbbca98f47eda29d6Till Mossakowskiimport CASL.SymbolParser
e7757995211bd395dc79d26fe017d99375f7d2a6Christian Maederimport Logic.ParsecInterface
e7757995211bd395dc79d26fe017d99375f7d2a6Christian Maederimport Logic.Logic
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maederimport Common.AnnoState(emptyAnnos)
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maederimport Data.Dynamic
a1ed34933c266ce85066acb0d7b20c90cb8eb213Christian Maeder
c0c2380bced8159ff0297ece14eba948bd236471Christian Maeder-- a dummy datatype for the LogicGraph and for identifying the right
404166b9366552e9ec5abb87a37c76ec8a815fb7Klaus Luettich-- instances
b1f59a4ea7c96f4c03a4d7cfcb9c5e66871cfbbbChristian Maederdata HasCASL = HasCASL deriving (Show)
ad270004874ce1d0697fb30d7309f180553bb315Christian Maederinstance Language HasCASL -- default definition is okay
4d56f2fa72e4aec20eb827c11ed49c8cbb7014bdChristian Maeder
4cb215739e9ab13447fa21162482ebe485b47455Christian Maedertype Sign = Env
8ef75f1cc0437656bf622cec5ac9e8ea221da8f2Christian Maedertype Morphism = ()
404166b9366552e9ec5abb87a37c76ec8a815fb7Klaus Luettichtype HasCASL_Sublogics = ()
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maedertype Sentence = Formula
74eed04be26f549d2f7ca35c370e1c03879b28b1Christian Maedertype Symbol = ()
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maedertype RawSymbol = ()
3e8b136f23ed57d40ee617f49bcac37830b58cabChristian Maeder
ef9e8535c168d3f774d9e74368a2317a9eda5826Christian Maeder-- abstract syntax, parsing (and printing)
3e8b136f23ed57d40ee617f49bcac37830b58cabChristian Maeder
ef9e8535c168d3f774d9e74368a2317a9eda5826Christian MaederbasicSpecTc :: TyCon
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian MaederbasicSpecTc = mkTyCon "HasCASL.As.BasicSpec"
e593b89bfd4952698dc37feced21cefe869d87a2Christian MaedersignTc :: TyCon
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian MaedersignTc = mkTyCon "HasCASL.Le.Env"
f38b3687c5558128515e34fb85d8b466d22dc300Christian MaedersentenceTc :: TyCon
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian MaedersentenceTc = mkTyCon "HasCASL.As.Formula"
7cc09dd93962a2155c34d209d1d4cd7d7b838264Christian Maeder
1aee4aaddde105264c1faf394d88e302c05094ffChristian Maederinstance Typeable BasicSpec where
1aee4aaddde105264c1faf394d88e302c05094ffChristian Maeder typeOf _ = mkAppTy basicSpecTc []
51d769d55d88dfa88bdf54bee78d8fa85a2deba8Christian Maeder
f041c9a6bda23de33a38490e35b831ae18d96b45Christian Maederinstance Typeable Sign where
7cc09dd93962a2155c34d209d1d4cd7d7b838264Christian Maeder typeOf _ = mkAppTy signTc []
51d769d55d88dfa88bdf54bee78d8fa85a2deba8Christian Maeder
1aee4aaddde105264c1faf394d88e302c05094ffChristian Maederinstance Typeable Sentence where
1aee4aaddde105264c1faf394d88e302c05094ffChristian Maeder typeOf _ = mkAppTy sentenceTc []
c3053d57f642ca507cdf79512e604437c4546cb9Christian Maeder
dcbd32289a7bdf1e6edd06c6ab0698c6a9dbf37aChristian Maederinstance Syntax HasCASL BasicSpec
f4a2a20e49f41b2afa657e5e64d9e349c7faa091Christian Maeder SYMB_ITEMS SYMB_MAP_ITEMS
f4a2a20e49f41b2afa657e5e64d9e349c7faa091Christian Maeder where
dcbd32289a7bdf1e6edd06c6ab0698c6a9dbf37aChristian Maeder parse_basic_spec HasCASL = Just(toParseFun basicSpec emptyAnnos)
05a62e84edac8c64de04f8349dee418598d216b9Christian Maeder parse_symb_items HasCASL = Just(toParseFun symbItems ())
05a62e84edac8c64de04f8349dee418598d216b9Christian Maeder parse_symb_map_items HasCASL = Just(toParseFun symbMapItems ())
1aee4aaddde105264c1faf394d88e302c05094ffChristian Maeder
8b767d09a78927b111f5596fdff9ca7d2c1a439fChristian Maederinstance Category HasCASL Sign Morphism
8b767d09a78927b111f5596fdff9ca7d2c1a439fChristian Maeder
8b767d09a78927b111f5596fdff9ca7d2c1a439fChristian Maederinstance Sentences HasCASL Sentence () Sign Morphism Symbol
8b767d09a78927b111f5596fdff9ca7d2c1a439fChristian Maeder
8b767d09a78927b111f5596fdff9ca7d2c1a439fChristian Maederinstance StaticAnalysis HasCASL BasicSpec Sentence ()
8b767d09a78927b111f5596fdff9ca7d2c1a439fChristian Maeder SYMB_ITEMS SYMB_MAP_ITEMS
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maeder Sign
d54cd08a4cfa26256c38d8ed12c343adbfe1a0e3Christian Maeder Morphism
23b4e542dca35852f58d1fb3f7d9078c1de5ab06Christian Maeder Symbol RawSymbol
8a78868bae2ec6838c87366c35c57e109154c51eChristian Maeder
8cacad2a09782249243b80985f28e9387019fe40Christian Maederinstance Logic HasCASL HasCASL_Sublogics
363939beade943a02b31004cea09dec34fa8a6d9Christian Maeder BasicSpec Sentence SYMB_ITEMS SYMB_MAP_ITEMS
a7c27282e71cf4505026645f96d4f5cb8a284e32Christian Maeder Sign
363939beade943a02b31004cea09dec34fa8a6d9Christian Maeder Morphism
8a28707e9155465c6f2236a06eac6580a65c7025Christian Maeder Symbol RawSymbol ()
f04e8f3ff56405901be968fd4c6e9769239f1a9bKlaus Luettich