nemo
nemo copied to clipboard
Negated Atom with Constant in Body causes unexpected behavior
Following program
a(1) :- ~b(1).
is normalized to
a(1) :- ~b(?x), ?x = 1.
Now ?x
is a unsafe variable, which the variable order generation code is not prepared to handle, leading to a runtime error:
Variable order must contain an entry for every variable.
This is one half of the problem in #428.