There's no negation in SWI-Prolog's tabling. As not/1 works by using a cut, 1 may possibly turn out with incomplete tables and incorrect success. AleksejAleksej 22.9k66 gold badges3636 silver badges3838 bronze badges 1 Many thanks but my example previously mentioned is simplified, I ought to use execute speedy (as https://chancebimpq.pointblog.net/what-does-executive-tabletop-coffee-machines-mean-75002344