Availability:built-in
[ISO,det]retractall(+Head)All facts or clauses in the database for which the head 
unifies with Head are removed. If all arguments of Head 
are non-sharing variables (see is_most_general_term/1), 
all clauses are removed without inspecting the clauses. Cleaning all 
clauses of a dynamic predicate must use retractall/1 
rather than abolish/1 
as the latter completely wipes the predicate, including its properties. 
If
Head refers to a predicate that is not defined, it is 
implicitly created as a dynamic predicate. See also dynamic/1.89The 
ISO standard only allows using dynamic/1 
as a directive.