incomplete concrete PredicationI of Predication = Cat ** open ParamX, Lang in { flags optimize = all_subs ; lin PosCl cl = UseCl Lang.TPres ASimul PPos cl ; NegCl cl = UseCl Lang.TPres ASimul PNeg cl ; --2 Predication patterns. 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 (SgQuant IndefArt) NoOrd) (UseN n)))) ; predN2 n x y = PredVP x (UseComp (CompNP (DetCN (DetSg (SgQuant IndefArt) NoOrd) (ComplN2 n y)))) ; predNColl n x y = PredVP (ConjNP and_Conj (BaseNP x y)) (UseComp (CompNP (DetCN (DetPl (IndefArt) NoNum NoOrd) (UseN n)))) ; predAdv a x = PredVP x (UseComp (CompAdv a)) ; predPrep p x y = PredVP x (UseComp (CompAdv (PrepNP p y))) ; --2 Imperatives and infinitives. impV2 v x = PhrUtt NoPConj (UttImpSg PPos (ImpVP (ComplV2 v x))) NoVoc ; infV2 v x = PhrUtt NoPConj (UttVP (ComplV2 v x)) NoVoc ; --2 Individual-valued function applications appN2 n x = DetCN (DetSg (SgQuant DefArt) NoOrd) (ComplN2 n x) ; appN3 n x y = DetCN (DetSg (SgQuant DefArt) NoOrd) (ComplN2 (ComplN3 n x) y) ; appColl n x y = DetCN (DetSg (SgQuant DefArt) NoOrd) (ComplN2 n (ConjNP and_Conj (BaseNP x y))) ; --2 Families of types -- These are expressed by relational nouns applied to arguments. famN2 n x = ComplN2 n x ; famN3 n x y = ComplN2 (ComplN3 n x) y ; famColl n x y = ComplN2 n (ConjNP and_Conj (BaseNP x y)) ; --2 Type constructor -- This is similar to a family except that the argument is a type. typN2 f n = ComplN2 f (DetCN (DetPl (IndefArt) NoNum NoOrd) n) ; --. oper SgQuant : Quant -> Quant = \q -> q ; ---- for BWC with DEPREC }