1
0
forked from GitHub/gf-core

from AS to Cl in predication

This commit is contained in:
aarne
2006-02-01 13:02:02 +00:00
parent df8b2ab6b8
commit c84f3cb4c2
2 changed files with 34 additions and 46 deletions

View File

@@ -9,30 +9,28 @@ abstract Predication = Cat ** {
--2 The category of atomic sentences
-- These sentences have both a positive and a negative form
cat
AS ;
-- We want to use sentences in positive and negative forms but do not care about
-- tenses.
fun
PosAS : AS -> S ;
NegAS : AS -> S ;
PosCl : Cl -> S ; -- positive sentence: "x intersects y"
NegCl : Cl -> S ; -- negative sentence: "x doesn't intersect y"
--2 Predication patterns.
predV : V -> NP -> AS ; -- one-place verb: "x converges"
predV2 : V2 -> NP -> NP -> AS ; -- two-place verb: "x intersects y"
predV3 : V3 -> NP->NP-> NP -> AS; -- three-place verb: "x intersects y at z"
predVColl : V -> NP -> NP -> AS ; -- collective verb: "x and y intersect"
predA : A -> NP -> AS ; -- one-place adjective: "x is even"
predA2 : A2 -> NP -> NP -> AS ; -- two-place adj: "x is divisible by y"
predAComp : A -> NP -> NP -> AS; -- comparative adj: "x is greater than y"
predAColl : A -> NP -> NP -> AS ; -- collective adj: "x and y are parallel"
predN : N -> NP -> AS ; -- one-place noun: "x is a point"
predN2 : N2 -> NP -> NP -> AS ; -- two-place noun: "x is a divisor of y"
predNColl : N -> NP -> NP -> AS ; -- collective noun: "x and y are duals"
predAdv : Adv -> NP -> AS ; -- adverb: "x is inside"
predPrep : Prep -> NP -> NP -> AS ; -- preposition: "x is outside y"
predV : V -> NP -> Cl ; -- one-place verb: "x converges"
predV2 : V2 -> NP -> NP -> Cl ; -- two-place verb: "x intersects y"
predV3 : V3 -> NP->NP-> NP -> Cl; -- three-place verb: "x intersects y at z"
predVColl : V -> NP -> NP -> Cl ; -- collective verb: "x and y intersect"
predA : A -> NP -> Cl ; -- one-place adjective: "x is even"
predA2 : A2 -> NP -> NP -> Cl ; -- two-place adj: "x is divisible by y"
predAComp : A -> NP -> NP -> Cl; -- comparative adj: "x is greater than y"
predAColl : A -> NP -> NP -> Cl ; -- collective adj: "x and y are parallel"
predN : N -> NP -> Cl ; -- one-place noun: "x is a point"
predN2 : N2 -> NP -> NP -> Cl ; -- two-place noun: "x is a divisor of y"
predNColl : N -> NP -> NP -> Cl ; -- collective noun: "x and y are duals"
predAdv : Adv -> NP -> Cl ; -- adverb: "x is inside"
predPrep : Prep -> NP -> NP -> Cl ; -- preposition: "x is outside y"
--2 Individual-valued function applications

View File

@@ -2,29 +2,28 @@ incomplete concrete PredicationI of Predication = Cat ** open ParamX, Lang in {
flags optimize = all_subs ;
lincat
AS = {s : Polarity => S} ;
lin
PosAS as = as.s ! Pos ;
NegAS as = as.s ! Neg ;
PosCl cl = UseCl TPres ASimul PPos cl ;
NegCl cl = UseCl TPres ASimul PNeg cl ;
--2 Predication patterns.
predV v x = mkAS x (UseV v) ;
predV2 v x y = mkAS x (ComplV2 v y) ;
predV3 v x y z = mkAS x (ComplV3 v y z) ;
predVColl v x y = mkAS (ConjNP and_Conj (BaseNP x y)) (UseV v) ;
predA a x = mkAS x (UseComp (CompAP (PositA a))) ;
predA2 a x y = mkAS x (UseComp (CompAP (ComplA2 a y))) ;
predAComp a x y = mkAS x (UseComp (CompAP (ComparA a y))) ;
predAColl a x y = mkAS (ConjNP and_Conj (BaseNP x y)) (UseComp (CompAP (PositA a))) ;
predN n x = mkAS x (UseComp (CompNP (DetCN (DetSg IndefSg NoOrd) (UseN n)))) ;
predN2 n x y = mkAS x (UseComp (CompNP (DetCN (DetSg IndefSg NoOrd) (ComplN2 n y)))) ;
predNColl n x y = mkAS (ConjNP and_Conj (BaseNP x y))
predV v x = PredVP x (UseV v) ;
predV2 v x y = PredVP x (ComplV2 v y) ;
predV3 v x y z = PredVP x (ComplV3 v y z) ;
predVColl v x y = PredVP (ConjNP and_Conj (BaseNP x y)) (UseV v) ;
predA a x = PredVP x (UseComp (CompAP (PositA a))) ;
predA2 a x y = PredVP x (UseComp (CompAP (ComplA2 a y))) ;
predAComp a x y = PredVP x (UseComp (CompAP (ComparA a y))) ;
predAColl a x y =
PredVP (ConjNP and_Conj (BaseNP x y)) (UseComp (CompAP (PositA a))) ;
predN n x = PredVP x (UseComp (CompNP (DetCN (DetSg IndefSg NoOrd) (UseN n)))) ;
predN2 n x y =
PredVP x (UseComp (CompNP (DetCN (DetSg IndefSg NoOrd) (ComplN2 n y)))) ;
predNColl n x y = PredVP (ConjNP and_Conj (BaseNP x y))
(UseComp (CompNP (DetCN (DetPl IndefPl NoNum NoOrd) (UseN n)))) ;
predAdv a x = mkAS x (UseComp (CompAdv a)) ;
predPrep p x y = mkAS x (UseComp (CompAdv (PrepNP p y))) ;
predAdv a x = PredVP x (UseComp (CompAdv a)) ;
predPrep p x y = PredVP x (UseComp (CompAdv (PrepNP p y))) ;
--2 Individual-valued function applications
@@ -46,13 +45,4 @@ lin
typN2 f n = ComplN2 f (DetCN (DetPl IndefPl NoNum NoOrd) n) ;
oper
mkAS : NP -> VP -> {s : Polarity => S} = \x,vp -> {
s = table {
Pos => UseCl TPres ASimul PPos (PredVP x vp) ;
Neg => UseCl TPres ASimul PNeg (PredVP x vp)
}
} ;
}