Attempt to satisfy a goal encapsulated in a bound term object, with
access to the bindings of the variables and the possibility of redoing
it if it succeeds.
List out the clauses of predicates of any arity for all Prolog
predicates (with source code available) currently in the database,
quietly skipping over private ones.
Treat a stream represented by a BufferedReader as a sequence of clauses
to be asserted into the database, replacing any definitions for the
referenced predicates that are already there
Attempt to retract a term encapsulated in a bound term object from
the database, with access to the variable bindings for the term
retracted, and the possibility of redoing to retract
another matching term.
Attempt to retract a term represented by a string from the
database, with access to the variable bindings for the term
retracted, and the possibility of redoing to retract another matching
term.