 not_exists(:Goal)
not_exists(:Goal)tabled_call(Goal) to create a table and 
subsequently uses tnot/1 
on the created table.
Logically, not_exists(p(X)) is defined as tnot(∃X(p(X)))
Note that each Goal variant populates a table for tabled_call/1. Applications may need to abolish such tables to limit memory usage or guarantee consistency‘after the world changed’.