PAKCS does not list all solutions
Consider the appended program which tries to assign three different colors (red, green, yellow) to the following map such that no adjacent areas obtain the same color:
------------------
| | |
| | L2 |
| | |
| L1 |--------|
| | |
| | L3 |
| | |
------------------
Obviously, there are six solutions, but PAKCS only lists five, while KiCS2 lists all six solutions. Note that this problem does not occur if
goal l1 l2 l3 = PEVAL (correct l1 l2 l3 & coloring l1 l2 l3)
is replaced by
goal l1 l2 l3 = PEVAL (coloring l1 l2 l3 & correct l1 l2 l3)
This bug seems to be introduced in version 1.13.0, since PAKCS in version 1.12.0 shows all six solutions:
$ /opt/pakcs/pakcs-1.12.0/bin/pakcs :load colormap02.curry :eval main :quit
[1 of 2] Skipping Prelude ( /net/medoc/home/pakcs/amd64/pakcs-1.12.0/lib/Prelude.curry, /net/medoc/home/pakcs/amd64/pakcs-1.12.0/lib/.curry/Prelude.fcy )
[2 of 2] Compiling colormap02 ( colormap02.curry, .curry/colormap02.fcy )
(Red,Green,Yellow)
(Red,Yellow,Green)
(Green,Red,Yellow)
(Green,Yellow,Red)
(Yellow,Red,Green)
(Yellow,Green,Red)
$ /opt/pakcs/pakcs-1.13.0/bin/pakcs :load colormap02.curry :eval main :quit
[1 of 2] Skipping Prelude ( /net/medoc/home/pakcs/amd64/pakcs-1.13.0/lib/Prelude.curry, /net/medoc/home/pakcs/amd64/pakcs-1.13.0/lib/.curry/Prelude.fcy )
[2 of 2] Compiling colormap02 ( colormap02.curry, .curry/colormap02.fcy )
(Red,Green,Yellow)
(Red,Yellow,Green)
(Green,Red,Yellow)
(Green,Yellow,Red)
(Yellow,Red,Green)
Example program: colormap02.curry