mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-09 04:59:31 -06:00
39 lines
1.0 KiB
Plaintext
39 lines
1.0 KiB
Plaintext
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") ;
|
|
}
|