abolish(Predicate) abolish(Name/Arity)
Abolishes a runtime declared dynamic predicate or a local dynamic predicate. When the predicate indicator for Head is declared in a uses/2 or use_module/2 directive, the predicate is abolished in the referenced object or module. Otherwise the predicate is abolished in an object's database. In the case of objects, only predicates that are dynamically declared (using a call to the asserta/1 or assertz/1 built-in methods) can be abolished.
abolish(+predicate_indicator)
instantiation_errorinstantiation_errorinstantiation_errortype_error(predicate_indicator, Predicate)type_error(atom, Functor)type_error(integer, Arity)permission_error(modify, predicate_declaration, Name/Arity)permission_error(modify, private_predicate, Name/Arity)permission_error(modify, protected_predicate, Name/Arity)permission_error(modify, static_predicate, Name/Arity)existence_error(predicate_declaration, Name/Arity)abolish(Predicate)::abolish(Predicate)Object::abolish(Predicate)
asserta/1, assertz/1, clause/2, retract/1, retractall/1
dynamic/0, dynamic/1
uses/2, use_module/2