Logic_Rel.hs revision 4c7f058cdd19ce67b2b5d4b7f69703d0f8a21e38
c3efd4f435e954846981cf46bca64e0485266634Liam O'Reilly{- |
e9458b1a7a19a63aa4c179f9ab20f4d50681c168Jens ElknerModule : $Header$
c3efd4f435e954846981cf46bca64e0485266634Liam O'ReillyDescription : Instance of class Logic for Rel
c3efd4f435e954846981cf46bca64e0485266634Liam O'ReillyCopyright : (c) Dominik Luecke, Uni Bremen 2008
c3efd4f435e954846981cf46bca64e0485266634Liam O'ReillyLicense : similar to LGPL, see HetCATS/LICENSE.txt or LIZENZ.txt
98890889ffb2e8f6f722b00e265a211f13b5a861Corneliu-Claudiu Prodescu
c3efd4f435e954846981cf46bca64e0485266634Liam O'ReillyMaintainer : luecke@informatik.uni-bremen.de
c3efd4f435e954846981cf46bca64e0485266634Liam O'ReillyStability : experimental
c3efd4f435e954846981cf46bca64e0485266634Liam O'ReillyPortability : non-portable (imports Logic.Logic)
c3efd4f435e954846981cf46bca64e0485266634Liam O'Reilly
c3efd4f435e954846981cf46bca64e0485266634Liam O'ReillyInstance of class Logic for RelationalSchemes
c3efd4f435e954846981cf46bca64e0485266634Liam O'Reilly-}
c3efd4f435e954846981cf46bca64e0485266634Liam O'Reilly
c3efd4f435e954846981cf46bca64e0485266634Liam O'Reillymodule RelationalScheme.Logic_Rel where
c3efd4f435e954846981cf46bca64e0485266634Liam O'Reilly
c3efd4f435e954846981cf46bca64e0485266634Liam O'Reillyimport Logic.Logic
7db74d99f2d2705558510202067b91aca1912f6fLiam O'Reillyimport RelationalScheme.AS
7db74d99f2d2705558510202067b91aca1912f6fLiam O'Reillyimport RelationalScheme.Sign
c3efd4f435e954846981cf46bca64e0485266634Liam O'Reillyimport RelationalScheme.ParseRS
c3efd4f435e954846981cf46bca64e0485266634Liam O'Reillyimport RelationalScheme.ATC_RelationalScheme()
c3efd4f435e954846981cf46bca64e0485266634Liam O'Reillyimport RelationalScheme.StaticAnalysis
c3efd4f435e954846981cf46bca64e0485266634Liam O'Reillyimport Common.DocUtils
0e51f08fb6ced8e6a9e69eb5976fcc20dbf07019Liam O'Reilly
c3efd4f435e954846981cf46bca64e0485266634Liam O'Reillydata Rel = Rel deriving (Show)
9738b4e358f960105062839c835bb9eff3e44588Liam O'Reilly
842ae753ab848a8508c4832ab64296b929167a97Christian Maederinstance Language Rel where
abc67c4b359c4a5bb953c6d55fb0f9133369d707Liam O'Reilly description _ =
c3efd4f435e954846981cf46bca64e0485266634Liam O'Reilly "Simple logic for Relational Schemes"
0e51f08fb6ced8e6a9e69eb5976fcc20dbf07019Liam O'Reilly
0e51f08fb6ced8e6a9e69eb5976fcc20dbf07019Liam O'Reilly-- | Instance of Category for Rel
c3efd4f435e954846981cf46bca64e0485266634Liam O'Reillyinstance Category
c3efd4f435e954846981cf46bca64e0485266634Liam O'Reilly Sign -- sign
c3efd4f435e954846981cf46bca64e0485266634Liam O'Reilly RSMorphism -- mor
a9cc955b0a33e631b9ce3404e4e25b62cd067a77Christian Maeder where
9738b4e358f960105062839c835bb9eff3e44588Liam O'Reilly legal_mor _ = False
842ae753ab848a8508c4832ab64296b929167a97Christian Maeder dom = domain
842ae753ab848a8508c4832ab64296b929167a97Christian Maeder cod = codomain
c3efd4f435e954846981cf46bca64e0485266634Liam O'Reilly ide = idMor
c3efd4f435e954846981cf46bca64e0485266634Liam O'Reilly comp = comp_rst_mor
c3efd4f435e954846981cf46bca64e0485266634Liam O'Reilly
0e51f08fb6ced8e6a9e69eb5976fcc20dbf07019Liam O'Reilly-- ^ Instance of Sentences for Rel
d3b4ad111a281d125659e12d6641943f29d6b3dfLiam O'Reillyinstance Sentences Rel Sentence Sign RSMorphism RSSymbol where
0e51f08fb6ced8e6a9e69eb5976fcc20dbf07019Liam O'Reilly -- there is nothing to leave out
c3efd4f435e954846981cf46bca64e0485266634Liam O'Reilly simplify_sen Rel _ form = form
c3efd4f435e954846981cf46bca64e0485266634Liam O'Reilly print_named _ = printAnnoted (pretty) . fromLabelledSen
c3efd4f435e954846981cf46bca64e0485266634Liam O'Reilly map_sen Rel = map_rel
d3b4ad111a281d125659e12d6641943f29d6b3dfLiam O'Reilly
d3b4ad111a281d125659e12d6641943f29d6b3dfLiam O'Reilly-- | Syntax of Rel
d3b4ad111a281d125659e12d6641943f29d6b3dfLiam O'Reillyinstance Syntax Rel RSScheme () () where
d3b4ad111a281d125659e12d6641943f29d6b3dfLiam O'Reilly parse_basic_spec Rel = Just parseRSScheme
3d3889e0cefcdce9b3f43c53aaa201943ac2e895Jonathan von Schroeder parse_symb_items _ = Nothing
3d3889e0cefcdce9b3f43c53aaa201943ac2e895Jonathan von Schroeder parse_symb_map_items _ = Nothing
3d3889e0cefcdce9b3f43c53aaa201943ac2e895Jonathan von Schroeder
d3b4ad111a281d125659e12d6641943f29d6b3dfLiam O'Reilly-- | Instance of Logic for Relational Schemes
3d3889e0cefcdce9b3f43c53aaa201943ac2e895Jonathan von Schroederinstance Logic Rel
3d3889e0cefcdce9b3f43c53aaa201943ac2e895Jonathan von Schroeder () -- Sublogics
d3b4ad111a281d125659e12d6641943f29d6b3dfLiam O'Reilly RSScheme -- basic_spec
d3b4ad111a281d125659e12d6641943f29d6b3dfLiam O'Reilly Sentence -- sentence
d3b4ad111a281d125659e12d6641943f29d6b3dfLiam O'Reilly () -- symb_items
d3b4ad111a281d125659e12d6641943f29d6b3dfLiam O'Reilly () -- symb_map_items
3d3889e0cefcdce9b3f43c53aaa201943ac2e895Jonathan von Schroeder Sign -- sign
3d3889e0cefcdce9b3f43c53aaa201943ac2e895Jonathan von Schroeder RSMorphism -- morphism
d3b4ad111a281d125659e12d6641943f29d6b3dfLiam O'Reilly RSSymbol -- symbol
3d3889e0cefcdce9b3f43c53aaa201943ac2e895Jonathan von Schroeder RSRawSymbol -- raw_symbol
3d3889e0cefcdce9b3f43c53aaa201943ac2e895Jonathan von Schroeder () -- proof_tree
d3b4ad111a281d125659e12d6641943f29d6b3dfLiam O'Reilly where
d3b4ad111a281d125659e12d6641943f29d6b3dfLiam O'Reilly stability Rel = Experimental
d3b4ad111a281d125659e12d6641943f29d6b3dfLiam O'Reilly
d3b4ad111a281d125659e12d6641943f29d6b3dfLiam O'Reilly-- | Static Analysis for Rel
d3b4ad111a281d125659e12d6641943f29d6b3dfLiam O'Reillyinstance StaticAnalysis Rel
d3b4ad111a281d125659e12d6641943f29d6b3dfLiam O'Reilly RSScheme -- basic_spec
3d3889e0cefcdce9b3f43c53aaa201943ac2e895Jonathan von Schroeder Sentence -- sentence
3d3889e0cefcdce9b3f43c53aaa201943ac2e895Jonathan von Schroeder () -- symb_items
3d3889e0cefcdce9b3f43c53aaa201943ac2e895Jonathan von Schroeder () -- symb_map_items
d3b4ad111a281d125659e12d6641943f29d6b3dfLiam O'Reilly Sign -- sign
d3b4ad111a281d125659e12d6641943f29d6b3dfLiam O'Reilly RSMorphism -- morphism
d3b4ad111a281d125659e12d6641943f29d6b3dfLiam O'Reilly RSSymbol -- symbol
d3b4ad111a281d125659e12d6641943f29d6b3dfLiam O'Reilly RSRawSymbol -- raw_symbol
d3b4ad111a281d125659e12d6641943f29d6b3dfLiam O'Reilly where
3d3889e0cefcdce9b3f43c53aaa201943ac2e895Jonathan von Schroeder basic_analysis Rel = Just $ basic_Rel_analysis
3d3889e0cefcdce9b3f43c53aaa201943ac2e895Jonathan von Schroeder empty_signature Rel = emptyRSSign
3d3889e0cefcdce9b3f43c53aaa201943ac2e895Jonathan von Schroeder inclusion Rel = rsInclusion
3d3889e0cefcdce9b3f43c53aaa201943ac2e895Jonathan von Schroeder
3d3889e0cefcdce9b3f43c53aaa201943ac2e895Jonathan von Schroeder
d3b4ad111a281d125659e12d6641943f29d6b3dfLiam O'Reilly