InProceedings(inprocID,title,bktitle,year,month,pages,vol,num,loc,class,note,annote) :- InProceedings(X1),title(X1,title),pages(X1,pages), vol(X1,vol),note(X1,note),loc(X1,loc), inprocID(X1,inprocID),year(X1,year),month(X1,month), annote(X1,annote),bktitle(X1,bktitle),class(X1,class), num(X1,num)::identifier(X1,inprocID). Article(articleID,title,journal,year,month,pages,vol,num,loc,class,note,annote) :- Article(X1),class(X1,class),annote(X1,annote), pages(X1,pages),num(X1,num),title(X1,title), jrnl(X1,journal),month(X1,month),loc(X1,loc), vol(X1,vol),articleID(X1,articleID),note(X1,note), year(X1,year)::identifier(X1,articleID). TechReport(techID,title,inst,year,month,pages,vol,num,loc,class,note,annote) :- TechReport(X1),vol(X1,vol),pages(X1,pages), num(X1,num),annote(X1,annote),month(X1,month), loc(X1,loc),techID(X1,techID),title(X1,title), year(X1,year),inst(X1,inst),class(X1,class), note(X1,note)::identifier(X1,techID). Book(bookID,title,publisher,year,month,pages,vol,num,loc,class,note,annote) :- Book(X1),loc(X1,loc),note(X1,note), month(X1,month),title(X1,title),vol(X1,vol), year(X1,year),num(X1,num),annote(X1,annote), bookID(X1,bookID),pages(X1,pages),class(X1,class), publisher(X1,publisher)::identifier(X1,bookID). InCollection(collID,title,bktitle,year,month,pages,vol,num,loc,class,note,annote) :- InCollection(X1),num(X1,num),vol(X1,vol), note(X1,note),collID(X1,collID),pages(X1,pages), annote(X1,annote),year(X1,year),title(X1,title), class(X1,class),bktitle(X1,bktitle),month(X1,month), loc(X1,loc)::identifier(X1,collID). Misc(miscID,title,howpub,confloc,year,month,pages,vol,num,loc,class,note,annote) :- Misc(X1),annote(X1,annote),num(X1,num), loc(X1,loc),confloc(X1,confloc),month(X1,month), year(X1,year),miscID(X1,miscID),vol(X1,vol), class(X1,class),howpub(X1,howpub),note(X1,note), title(X1,title),pages(X1,pages)::identifier(X1,miscID). Manual(manID,title,org,year,month,pages,vol,num,loc,class,note,annote) :- Manual(X1),loc(X1,loc),year(X1,year), vol(X1,vol),pages(X1,pages),num(X1,num), class(X1,class),title(X1,title),manID(X1,manID), org(X1,org),annote(X1,annote),month(X1,month), note(X1,note)::identifier(X1,manID). Author(AuthID,name) :- Author(X1),AuthID(X1,AuthID),Name(X1,name):: identifier(X1,AuthID). InprocPublished(inprocID,AuthID) :- Author(X1),InProceedings(X2),inprocPublished(X1,X2), inprocID(X2,inprocID),AuthID(X1,AuthID):: identifier(X1,AuthID),identifier(X2,inprocID). ArticlePublished(articleID,AuthID) :- Author(X1),Article(X2),articlePublished(X1,X2), articleID(X2,articleID),AuthID(X1,AuthID):: identifier(X1,AuthID),identifier(X2,articleID). TechPublished(techID,AuthID) :- Author(X1),TechReport(X2),techPublished(X1,X2), techID(X2,techID),AuthID(X1,AuthID):: identifier(X1,AuthID),identifier(X2,techID). BookPublished(bookID,AuthID) :- Author(X1),Book(X2),bookPublished(X1,X2), bookID(X2,bookID),AuthID(X1,AuthID):: identifier(X1,AuthID),identifier(X2,bookID). InCollPublished(collID,AuthID) :- Author(X1),InCollection(X2),inCollPublished(X1,X2), collID(X2,collID),AuthID(X1,AuthID):: identifier(X1,AuthID),identifier(X2,collID). MiscPublished(miscID,AuthID) :- Author(X1),Misc(X2),miscPublished(X1,X2), AuthID(X1,AuthID),miscID(X2,miscID)::identifier(X1,AuthID), identifier(X2,miscID). ManualPublished(manID,AuthID) :- Author(X1),Manual(X2),manualPublished(X1,X2), AuthID(X1,AuthID),manID(X2,manID):: identifier(X1,AuthID),identifier(X2,manID).