Issue with nested fluents in effects using USERTYPES_REMOVER compiler #640
Unanswered
carladavesa
asked this question in
Q&A
Replies: 3 comments 2 replies
-
Hi @carladavesa, can you report the compiled problem? |
Beta Was this translation helpful? Give feedback.
1 reply
-
|
Beta Was this translation helpful? Give feedback.
0 replies
-
I confirm that this compiler doesn't correctly handle nested fluents. If I update the action in this way it seems to work fine: buy_cat = InstantaneousAction('buy_cat', p=Cat)
buy_cat.add_precondition(Equals(my_cats, buy_cat.p))
buy_cat.add_effect(my_cats, plus(buy_cat.p, one_cat)) This is an issue because we should at least raise a meaningful exception in this case. Thanks for pointing it out. |
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Hi,
I’ve encountered an issue when using the USERTYPES_REMOVER in unified-planning, and I’d like to confirm whether this is a bug or a limitation in how effects are expressed.
Here’s a simple example of a problem:
After running USERTYPES_REMOVER, I expected it to handle nested fluents in the action effects. However, the output I get doesn’t include some of the expected effects, such as:
if (my_cats(no_cat) and plus(no_cat, one_cat, one_cat)) then my_cats(one_cat) := true
Instead, the output looks like this:
This output omits the necessary effect for transitioning from my_cats(no_cat) to my_cats(one_cat). The first effect that should apply is missing.
Are nested fluents not supported, or is this a bug in the way the compiler processes such effects? I’d appreciate guidance on whether this is a known limitation or not.
Thanks!
Beta Was this translation helpful? Give feedback.
All reactions