q(a). q(b). qq(a). qq(b). ?- insert{p(a)}, deleteall{q(?X)}, a[b ->c]. ?- t_insert{pp(a)}, t_deleteall{qq(?X)}, a[b ->c]. ?- \all. // Queries: // p(?X). // q(?Y). // pp(?X). // qq(?Y). // Then do: // insert{a[b->c]}. // t_insert{pp(a)}, t_deleteall{qq(?X)}, a[b ->c]. // pp(?X). // qq(?Y).