-
Notifications
You must be signed in to change notification settings - Fork 87
Closed
Description
Given the program:
event(1,1,r1).
event(2,2,r2).
event(3,3,r3).
between1(Z, X, Y) :- event(LX, UX, X), event(LY, UY, Y), X != Y, LX <= UY, event(LZ, UZ, Z), LX <= LZ, LZ <= UY, Z != X, Z != Y.
between2(Z, X, Y) :- event(LX, UX, X), event(LY, UY, Y), X != Y, LX <= UY, event(LZ, UZ, Z), LX <= LZ <= UY, Z != X, Z != Y.
the only difference between between1
and between2
is the new short form LX <= LZ <= UY
instead of LX <= LZ, LZ <= UY
.
clingo --version
clingo version 5.6.1
Address model: 64-bit
libclingo version 5.6.1
Configuration: with Python 3.9.13, without Lua
libclasp version 3.3.9 (libpotassco version 1.1.0)
Configuration: WITH_THREADS=1
clingo bug.lp --text
event(1,1,r1).
event(2,2,r2).
event(3,3,r3).
between2(r2,r1,r3).
between1(r2,r1,r3).
behaves correctly, but
clingo-dl --version
clingo-dl version 1.4.1
Address model: 64-bit
libclingo version 5.6.1
Configuration: without Python, without Lua
libclasp version 3.3.9 (libpotassco version 1.1.0)
Configuration: WITH_THREADS=1
clingo-dl bug.lp --text
event(1,1,r1).
event(2,2,r2).
event(3,3,r3).
between2(r1,r2,r3).
between2(r2,r1,r3).
between2(r3,r1,r2).
between1(r2,r1,r3).
messes up the comparison although they use the same clingo-lib version.