blob: b950c6b39515eca47392d359cab4fe56a0bcfcc1 (
plain)
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
|
concrete LogicEng of Logic = open
SyntaxEng, (P = ParadigmsEng), SymbolicEng, Prelude in {
lincat
Stm = Text ;
Prop = S ;
Atom = Cl ;
Ind = NP ;
Dom = CN ;
Var = NP ;
[Prop] = [S] ;
[Var] = NP ;
lin
SProp = mkText ;
And = mkS and_Conj ; -- A, B ... and C
Or = mkS or_Conj ; -- A, B ... or C
If A B = -- if A B
mkS (mkAdv if_Subj A) B ;
Not A = -- it is not the case that A
mkS negativePol (mkCl
(mkVP (mkNP the_Quant
(mkCN case_CN A)))) ;
All xs A B = -- for all A's xs, B
mkS (mkAdv for_Prep
(mkNP all_Predet (mkNP a_Quant
plNum (mkCN A xs)))) B ;
Exist xs A B = -- for some A's xs, B
mkS (mkAdv for_Prep
(mkNP somePl_Det (mkCN A xs))) B ;
PAtom = mkS ;
IVar x = x ;
VString s = symb s ;
BaseProp A B = mkListS A B ;
ConsProp A As = mkListS A As ;
BaseVar x = x ;
ConsVar x xs = mkNP and_Conj (mkListNP x xs) ;
oper
case_CN : CN = mkCN (P.mkN "case") ;
}
|