np(Np0,Np) :- det(Np0,Np1), a(Np1,Np2), n(Np2,Np). det(Det0,Det) :- dl(Det0,my,Det). a(A0,A) :- dl(A0,unworthiest,A). n(N0,N) :- dl(N0,hand,N). dl([A|T],A,T).