added documentation to search.hpp, added provision of directed graph in some functions in predicates.hpp, all subject to critical verification