% claus_def.pl
% Luiz Arthur Pagani
% arthur@ufpr.br

s(S, Resto) :-
   sn(S, SV),
   sv(SV, Resto).

sn(SN, Resto) :-
   det(SN, N),
   n(N, Resto).

sv(SV, Resto) :-
   v(SV, SN),
   sn(SN, Resto).

det([a|Resto], Resto).
det([o|Resto], Resto).

n([homem|Resto], Resto).
n([mulher|Resto], Resto).

v([viu|Resto], Resto).

