hpage(status('Professor'))->#hpage(#status(#'Professor'),teaching())))
pubs(pub(name(X),surname(Y)))->#member(name(X),surname(Y)))
member(name(X),surname(Y))->#member(name(X),surname(Y),full(&X++Y&))
courselink(url(X),urlname(Y))->#cpage(title(Y)))
blink(X)->error
project(grant1(X),grant2(Y),total(Z))->error : &(read X)+(read Y)/=(read Z)&
pub(year(X))->error : &(read X)<1999&
hpage(links(link(url(X)))) -> error : &match X [a-zA-Z]*sex[a-zA-Z]*&