diff --git a/lib/resource-1.0/mathematical/Predication.gf b/lib/resource-1.0/mathematical/Predication.gf index 31ade0a17..ef32cc8ab 100644 --- a/lib/resource-1.0/mathematical/Predication.gf +++ b/lib/resource-1.0/mathematical/Predication.gf @@ -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 diff --git a/lib/resource-1.0/mathematical/PredicationI.gf b/lib/resource-1.0/mathematical/PredicationI.gf index 6d9cf78d7..38f34729d 100644 --- a/lib/resource-1.0/mathematical/PredicationI.gf +++ b/lib/resource-1.0/mathematical/PredicationI.gf @@ -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) - } - } ; - }