potassco / clingo

🤔 A grounder and solver for logic programs.
https://potassco.org/clingo
MIT License
599 stars 79 forks source link

fix assignment aggregate handling #436

Closed rkaminsk closed 1 year ago

rkaminsk commented 1 year ago

The code now always uses the ordering of rule bodies. When grounding aggregate elements, only the literals preceeding the aggregate are used to ground them. This ensures that all variables are bound if assignment aggregates are used. Furthermore, it might make the intermediate rules to ground elements a bit shorter in some cases. However, it should not affect how typical rules with just one aggregate are grounded.