1. NEED TO GO THROUGH A FILTER. BOOKPUBLISHED[ BOOKID(@book=x1){functional}, AUTHID(@author=x2){functional}] :- Author(Y1),Book(Y2),Doc.Author(Y2,Y1), Agent.name(Y1,x2),Doc.key(Y2,x1).