concrete ExtEng of ExtEngAbs = CatEng ** open ResEng in {

  lincat

    Aux = {s : Polarity => Str} ;
    
  lin
 
    PredAux np aux vp = mkClause (np.s ! Nom) np.a {
      s = \\t,ant,b,ord,agr => 
        let 
          fin  = aux.s ! b ;
          vf : Str -> Str -> {fin, inf : Str} = \x,y -> 
            {fin = x ; inf = y} ;
        in
        case ant of {
          Simul => vf fin [] ;
          Anter => vf fin "have"
          } ;
      s2 = \\agr => infVP vp agr
      } ;

    can_Aux  = {s = \\p => posneg p "can"} ; ---- cannt
    must_Aux = {s = \\p => posneg p "must"} ;

}
