I only consider contradictions that become apparent from conflicting variable
values (not any additional information from mutex groups). While being at it, I
also remove facts from effect conditions that are already operator pre- or
prevail conditions.
I updated build_sas_operator in translate.py accordingly and updated the
validation so that effect conditions may not mention any variables from pre- and
prevail conditions.
These changes have no effect on any of our benchmark instances. The only
differences were in two large trucks instances but these were due to a different
encoding caused by the time out of the invariant synthesis.
Malte, in the documentation of the sas task validation you wrote
Odd things that are *not* illegal:
- Effect conditions that contradict a precondition or prevail
condition are permitted.
How did you encounter this? Did you run an extra test case?
Should I just merge the changes or do you want to have a look at the code?
|