Logic_SoftFOL.hs revision a14767aeac3e78ed100f5b75e210ba563ee10dba
43b4c41fbb07705c9df321221ab9cb9832460407Christian Maeder{-# OPTIONS -cpp #-}
c63ebf815c8a874525cf18670ad74847f7fc7b26Christian Maeder{- |
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian MaederModule : $Header$
25cc5fbba63f84b47e389af749f55abbbde71c8cChristian MaederDescription : Instance of class Logic for SoftFOL.
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian MaederCopyright : (c) Rene Wagner, Klaus Luettich, Uni Bremen 2005-2007
43b4c41fbb07705c9df321221ab9cb9832460407Christian MaederLicense : similar to LGPL, see HetCATS/LICENSE.txt or LIZENZ.txt
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian MaederMaintainer : luecke@informatik.uni-bremen.de
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian MaederStability : provisional
43b4c41fbb07705c9df321221ab9cb9832460407Christian MaederPortability : non-portable (imports Logic)
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
f4a2a20e49f41b2afa657e5e64d9e349c7faa091Christian MaederInstance of class Logic for SoftFOL.
f2f9df2e17e70674f0bf426ed1763c973ee4cde0Christian Maeder-}
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maedermodule SoftFOL.Logic_SoftFOL where
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
68d10d143f29fcff3c637ba24f90e983995ceae6Christian Maederimport Common.DefaultMorphism
a53841f6d6e86ac751c12a33dc8aadf53f59d977Klaus Luettichimport Common.DocUtils
a53841f6d6e86ac751c12a33dc8aadf53f59d977Klaus Luettichimport Common.ProofTree
a53841f6d6e86ac751c12a33dc8aadf53f59d977Klaus Luettich
a53841f6d6e86ac751c12a33dc8aadf53f59d977Klaus Luettichimport ATC.ProofTree ()
a737caf82de97c1907027c03e4b4509eb492b4b8Christian Maeder
68d10d143f29fcff3c637ba24f90e983995ceae6Christian Maederimport Logic.Logic
96646aed2ae087b942ae23f15bbe729a8f7c43d3Christian Maeder
01e383014b555bbcf639c0ca60c5810b3eff83c0Christian Maederimport SoftFOL.ATC_SoftFOL ()
3b06e23643a9f65390cb8c1caabe83fa7e87a708Till Mossakowskiimport SoftFOL.Sign
9dac90ec2be2a72e03893095461960d483fe2fc2Christian Maederimport SoftFOL.Print
5e5d3e82af3bc2834f8718a52d9f45da80220273Dominik Lueckeimport SoftFOL.Conversions
5e5d3e82af3bc2834f8718a52d9f45da80220273Dominik Lueckeimport SoftFOL.Morphism
ce8b15da31cd181b7e90593cbbca98f47eda29d6Till Mossakowski
e7757995211bd395dc79d26fe017d99375f7d2a6Christian Maeder#ifdef UNI_PACKAGE
e7757995211bd395dc79d26fe017d99375f7d2a6Christian Maederimport SoftFOL.ProveSPASS
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder#ifndef NOMATHSERVER
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maederimport SoftFOL.ProveMathServ
a1ed34933c266ce85066acb0d7b20c90cb8eb213Christian Maederimport SoftFOL.ProveVampire
c0c2380bced8159ff0297ece14eba948bd236471Christian Maeder#endif
8410667510a76409aca9bb24ff0eda0420088274Christian Maederimport SoftFOL.ProveDarwin
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder#endif
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder
8410667510a76409aca9bb24ff0eda0420088274Christian Maederinstance Pretty Sign where
404166b9366552e9ec5abb87a37c76ec8a815fb7Klaus Luettich pretty = pretty . signToSPLogicalPart
b1f59a4ea7c96f4c03a4d7cfcb9c5e66871cfbbbChristian Maeder
ad270004874ce1d0697fb30d7309f180553bb315Christian Maeder{- |
4d56f2fa72e4aec20eb827c11ed49c8cbb7014bdChristian Maeder We use the DefaultMorphism for SPASS.
4cb215739e9ab13447fa21162482ebe485b47455Christian Maeder-}
8ef75f1cc0437656bf622cec5ac9e8ea221da8f2Christian Maedertype SoftFOLMorphism = DefaultMorphism Sign
404166b9366552e9ec5abb87a37c76ec8a815fb7Klaus Luettich
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder{- |
356fa49fe3e6a8398f92d13e9f920d0f093697ecChristian Maeder A dummy datatype for the LogicGraph and for identifying the right
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder instances
55adfe57a4de1f36adc3e3bfc16f342e44a7d444Christian Maeder-}
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maederdata SoftFOL = SoftFOL deriving (Show)
8d97ef4f234681b11bb5924bd4d03adef858d2d2Christian Maeder
f4a2a20e49f41b2afa657e5e64d9e349c7faa091Christian Maederinstance Language SoftFOL where
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder description _ =
e593b89bfd4952698dc37feced21cefe869d87a2Christian Maeder "SoftFOL - Softly typed First Order Logic for "++
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder "Automated Theorem Proving Systems\n\n" ++
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder "This logic corresponds to the logic of SPASS, \n"++
7cc09dd93962a2155c34d209d1d4cd7d7b838264Christian Maeder "but the generation of TPTP is also possible.\n" ++
1aee4aaddde105264c1faf394d88e302c05094ffChristian Maeder "See http://spass.mpi-sb.mpg.de/\n"++
1aee4aaddde105264c1faf394d88e302c05094ffChristian Maeder "and http://www.cs.miami.edu/~tptp/TPTP/SyntaxBNF.html"
f041c9a6bda23de33a38490e35b831ae18d96b45Christian Maeder
7cc09dd93962a2155c34d209d1d4cd7d7b838264Christian Maederinstance Logic.Logic.Syntax SoftFOL () () ()
1aee4aaddde105264c1faf394d88e302c05094ffChristian Maeder -- default implementation is fine!
1aee4aaddde105264c1faf394d88e302c05094ffChristian Maeder
c3053d57f642ca507cdf79512e604437c4546cb9Christian Maederinstance Sentences SoftFOL Sentence Sign
dcbd32289a7bdf1e6edd06c6ab0698c6a9dbf37aChristian Maeder SoftFOLMorphism SFSymbol where
f4a2a20e49f41b2afa657e5e64d9e349c7faa091Christian Maeder map_sen SoftFOL _ s = return s
f4a2a20e49f41b2afa657e5e64d9e349c7faa091Christian Maeder sym_of SoftFOL = symOf
dcbd32289a7bdf1e6edd06c6ab0698c6a9dbf37aChristian Maeder sym_name SoftFOL = symbolToId
2c9df69accd8924e7cef3bf8f686626958499c7aChristian Maeder print_named SoftFOL = printFormula
c2fcc35abb03cf0b4ca4b050efeb10827f38c322Christian Maeder -- other default implementations are fine
1aee4aaddde105264c1faf394d88e302c05094ffChristian Maeder
356fa49fe3e6a8398f92d13e9f920d0f093697ecChristian Maederinstance StaticAnalysis SoftFOL () Sentence
356fa49fe3e6a8398f92d13e9f920d0f093697ecChristian Maeder () ()
4ed0007ac9caea5b468f202521352d153481423cChristian Maeder Sign
356fa49fe3e6a8398f92d13e9f920d0f093697ecChristian Maeder SoftFOLMorphism SFSymbol () where
356fa49fe3e6a8398f92d13e9f920d0f093697ecChristian Maeder empty_signature SoftFOL = emptySign
0206ab93ef846e4e0885996d052b9b73b9dc66b0Christian Maeder inclusion SoftFOL = defaultInclusion (const $ const True)
f13d1e86e58da53680e78043e8df182eed867efbChristian Maeder
b9b331bded61b8860edacac91df16ee19e465b42Christian Maederinstance Logic SoftFOL () () Sentence () ()
79e80c4b3f0ebb337d84415a50f29ccfc793e68bChristian Maeder Sign
79e80c4b3f0ebb337d84415a50f29ccfc793e68bChristian Maeder SoftFOLMorphism SFSymbol () ProofTree where
79e80c4b3f0ebb337d84415a50f29ccfc793e68bChristian Maeder stability _ = Testing
36f63902db2b3463faa9f59912ad106e2d5aaa24Klaus Luettich -- again default implementations are fine
36f63902db2b3463faa9f59912ad106e2d5aaa24Klaus Luettich -- the prover uses HTk and IO functions from uni
f04e8f3ff56405901be968fd4c6e9769239f1a9bKlaus Luettich#ifdef UNI_PACKAGE
05a206508bc898f87fe6ab6e069814df3c29d303Dominik Luecke provers SoftFOL = [spassProver
8cacad2a09782249243b80985f28e9387019fe40Christian Maeder#ifndef NOMATHSERVER
363939beade943a02b31004cea09dec34fa8a6d9Christian Maeder , mathServBroker,vampire
a7c27282e71cf4505026645f96d4f5cb8a284e32Christian Maeder#endif
363939beade943a02b31004cea09dec34fa8a6d9Christian Maeder , darwinProver]
8a28707e9155465c6f2236a06eac6580a65c7025Christian Maeder cons_checkers SoftFOL = [darwinConsChecker]
f04e8f3ff56405901be968fd4c6e9769239f1a9bKlaus Luettich#endif
797ccd67cb8ae127be097cd43448801b673e3b69Christian Maeder
797ccd67cb8ae127be097cd43448801b673e3b69Christian Maeder