| ?- compile(user).
| :- dynamic q/1.
| q(1).
| q(2).
| q(3).
| ^D
% user compiled in modules user, 0.117 sec 260 bytes
yes
| ?- q(N), write(N), nl, abolish(q/1), fail.
1
2
3
no
| ?-
Procedures that are abolished while they have outstanding calls don't become invisible to those calls. Subsequent calls however, will find the procedure undefined.