1/* @(#)clotab.pl	24.1 2/23/88 */
    2
    3/* 
    4	Copyright 1986, Fernando C.N. Pereira and David H.D. Warren,
    5
    6			   All Rights Reserved
    7*/
    8% Normal form masks
    9
   10is_pp(#(1,_,_,_)).
   11
   12is_pred(#(_,1,_,_)).
   13
   14is_trace(#(_,_,1,_)).
   15
   16is_adv(#(_,_,_,1)).
   17
   18do_trace(#(_,_,1,_),#(0,0,0,0)).
   19
   20do_trace(#(0,0,1,0)).
   21
   22adv(#(0,0,0,1)).
   23
   24empty(#(0,0,0,0)).
   25
   26np_all(#(1,1,1,0)).
   27
   28s_all(#(1,0,1,1)).
   29
   30np_no_trace(#(1,1,0,0)).
   31
   32% Mask operations
   33
   34my_plus(#(B1,B2,B3,B4),#(C1,C2,C3,C4),#(D1,D2,D3,D4)) :-
   35   or(B1,C1,D1),
   36   or(B2,C2,D2),
   37   or(B3,C3,D3),
   38   or(B4,C4,D4).
   39
   40minus(#(B1,B2,B3,B4),#(C1,C2,C3,C4),#(D1,D2,D3,D4)) :-
   41   anot(B1,C1,D1),
   42   anot(B2,C2,D2),
   43   anot(B3,C3,D3),
   44   anot(B4,C4,D4).
   45
   46or(1,_,1).
   47or(0,1,1).
   48or(0,0,0).
   49
   50anot(X,0,X).
   51anot(X,1,0).
   52
   53% Noun phrase position features
   54
   55role(subj,_,#(1,0,0)).
   56role(compl,_,#(0,_,_)).
   57role(undef,main,#(_,0,_)).
   58role(undef,aux,#(0,_,_)).
   59role(undef,decl,_).
   60role(nil,_,_).
   61
   62subj_case(#(1,0,0)).
   63verb_case(#(0,1,0)).
   64prep_case(#(0,0,1)).
   65compl_case(#(0,_,_))