Logic_CommonLogic.hs revision a65c6747c9acbbebc93baba7bae94d2e3d8cdafb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
257da458dcbcd80e9a60a8d02990956cb1a8178aRobert Savu{-# LANGUAGE MultiParamTypeClasses, TypeSynonymInstances #-}
257da458dcbcd80e9a60a8d02990956cb1a8178aRobert SavuModule : $Header$
257da458dcbcd80e9a60a8d02990956cb1a8178aRobert SavuDescription : Instance of class Logic for common logic
257da458dcbcd80e9a60a8d02990956cb1a8178aRobert SavuCopyright : (c) Karl Luc, DFKI Bremen 2010, Eugen Kuksa and Uni Bremen 2011
257da458dcbcd80e9a60a8d02990956cb1a8178aRobert SavuLicense : GPLv2 or higher, see LICENSE.txt
257da458dcbcd80e9a60a8d02990956cb1a8178aRobert SavuMaintainer : eugenk@informatik.uni-bremen.de
257da458dcbcd80e9a60a8d02990956cb1a8178aRobert SavuStability : experimental
257da458dcbcd80e9a60a8d02990956cb1a8178aRobert SavuPortability : non-portable (imports Logic.Logic)
257da458dcbcd80e9a60a8d02990956cb1a8178aRobert SavuInstance of class Logic for the common logic
257da458dcbcd80e9a60a8d02990956cb1a8178aRobert Savuimport qualified CommonLogic.Parse_CLIF as CLIF
257da458dcbcd80e9a60a8d02990956cb1a8178aRobert Savuimport qualified CommonLogic.Parse_KIF as KIF
257da458dcbcd80e9a60a8d02990956cb1a8178aRobert Savuimport qualified CommonLogic.Print_KIF as Print_KIF
257da458dcbcd80e9a60a8d02990956cb1a8178aRobert Savuimport CommonLogic.OMDocImport as OMDocImport
257da458dcbcd80e9a60a8d02990956cb1a8178aRobert Savuimport qualified Data.Map as Map
257da458dcbcd80e9a60a8d02990956cb1a8178aRobert Savudata CommonLogic = CommonLogic deriving Show
257da458dcbcd80e9a60a8d02990956cb1a8178aRobert Savuinstance Language CommonLogic where
257da458dcbcd80e9a60a8d02990956cb1a8178aRobert Savu description _ = "CommonLogic Logic\n"
257da458dcbcd80e9a60a8d02990956cb1a8178aRobert Savuinstance Category Sign Morphism
257da458dcbcd80e9a60a8d02990956cb1a8178aRobert Savu dom = source
257da458dcbcd80e9a60a8d02990956cb1a8178aRobert Savu cod = target
257da458dcbcd80e9a60a8d02990956cb1a8178aRobert Savu isInclusion = Map.null . propMap
257da458dcbcd80e9a60a8d02990956cb1a8178aRobert Savu legal_mor = isLegalMorphism
257da458dcbcd80e9a60a8d02990956cb1a8178aRobert Savu composeMorphisms = composeMor
257da458dcbcd80e9a60a8d02990956cb1a8178aRobert Savuinstance Sentences CommonLogic
257da458dcbcd80e9a60a8d02990956cb1a8178aRobert Savu negation CommonLogic = Just . negForm
257da458dcbcd80e9a60a8d02990956cb1a8178aRobert Savu sym_of CommonLogic = singletonList . symOf
257da458dcbcd80e9a60a8d02990956cb1a8178aRobert Savu symmap_of CommonLogic = getSymbolMap -- returns the symbol map
257da458dcbcd80e9a60a8d02990956cb1a8178aRobert Savu sym_name CommonLogic = getSymbolName -- returns the name of a symbol
257da458dcbcd80e9a60a8d02990956cb1a8178aRobert Savu map_sen CommonLogic = mapSentence -- TODO
257da458dcbcd80e9a60a8d02990956cb1a8178aRobert Savu symsOfSen CommonLogic = symsOfTextMeta
257da458dcbcd80e9a60a8d02990956cb1a8178aRobert Savu symKind CommonLogic = Symbol.symKind
257da458dcbcd80e9a60a8d02990956cb1a8178aRobert Savuinstance Monoid BASIC_SPEC where
257da458dcbcd80e9a60a8d02990956cb1a8178aRobert Savu mempty = Basic_spec []
257da458dcbcd80e9a60a8d02990956cb1a8178aRobert Savu mappend (Basic_spec l1) (Basic_spec l2) = Basic_spec $ l1 ++ l2
bb1a72b84b087ebe2aae9e73ecf3caaefcb8a206Robert Savuinstance Syntax CommonLogic
bb1a72b84b087ebe2aae9e73ecf3caaefcb8a206Robert Savu SYMB_MAP_ITEMS
bb1a72b84b087ebe2aae9e73ecf3caaefcb8a206Robert Savu parsersAndPrinters CommonLogic =
bb1a72b84b087ebe2aae9e73ecf3caaefcb8a206Robert Savu addSyntax "KIF" (KIF.basicSpec, Print_KIF.printBasicSpec)
bb1a72b84b087ebe2aae9e73ecf3caaefcb8a206Robert Savu $ addSyntax "CLIF" (CLIF.basicSpec, pretty)
257da458dcbcd80e9a60a8d02990956cb1a8178aRobert Savu $ makeDefault (CLIF.basicSpec, pretty)
257da458dcbcd80e9a60a8d02990956cb1a8178aRobert Savu parse_symb_items CommonLogic = Just CLIF.symbItems
257da458dcbcd80e9a60a8d02990956cb1a8178aRobert Savu parse_symb_map_items CommonLogic = Just CLIF.symbMapItems
257da458dcbcd80e9a60a8d02990956cb1a8178aRobert Savuinstance Logic CommonLogic
257da458dcbcd80e9a60a8d02990956cb1a8178aRobert Savu CommonLogicSL -- Sublogics
257da458dcbcd80e9a60a8d02990956cb1a8178aRobert Savu BASIC_SPEC -- basic_spec
257da458dcbcd80e9a60a8d02990956cb1a8178aRobert Savu TEXT_META -- sentence
257da458dcbcd80e9a60a8d02990956cb1a8178aRobert Savu SYMB_ITEMS -- symb_items
257da458dcbcd80e9a60a8d02990956cb1a8178aRobert Savu SYMB_MAP_ITEMS -- symb_map_items
257da458dcbcd80e9a60a8d02990956cb1a8178aRobert Savu Sign -- sign
bb1a72b84b087ebe2aae9e73ecf3caaefcb8a206Robert Savu Morphism -- morphism
257da458dcbcd80e9a60a8d02990956cb1a8178aRobert Savu Symbol -- symbol
257da458dcbcd80e9a60a8d02990956cb1a8178aRobert Savu Symbol -- raw_symbol
omdocToSen CommonLogic = OMDocImport.omdocToSen
omdocToSym CommonLogic = OMDocImport.omdocToSym
matches CommonLogic = Symbol.matches
top = CommonLogic.Sublogic.top