SWI-Prolog 8.0.3 Reference Manual: Section 7.4

## 7.4 Tabling predicate reference

:- table(+PredicateIndicators)
  Prepare the given PredicateIndicators for tabling. The example below prepares the predicate edge/2 and the non-terminal statement//1 for tabled execution.

      :- table edge/2, statement//1.

  In addition to using predicate indicators, a predicate can be declared for mode directed tabling using a term where each argument declares the intended mode. For example:

      :- table connection(_,_,min).

  Mode directed tabling is discussed in the general introduction section of chapter 7.

current_table(:Variant, -Trie)
  True when Trie is the answer table for Variant.
abolish_all_tables
  Remove all tables. This is normally used to free up the space or recompute the result after predicates on which the result for some tabled predicates depend. Raises a permission_error when tabling is in progress.
abolish_table_subgoals(:Subgoal)
  Abolish all tables that unify with SubGoal.