1

この質問は、forall 句に関する以前の質問に基づいています。以下に示すように、「when」ステートメントで forall を制限したいと思います。

(:durative-action finish
  :parameters (?r - robot ?p - part)
  :duration ( = ?duration 1)
  :condition (and
      (at start (robot_free ?r))
      (at start (forall (?f - fastener_loc)
                    when (part_fastener ?p ?f)
                     (loc_not_fastened ?f)
                )
      )
     )
  :effect (and
      (at start(not (robot_free ?r)))
      (at end (part_free ?p))
      (at end (robot_free ?r))
     )
)

これは、'when' ステートメントがなくても機能します。「when」ステートメントを含めると、いくつかのエラーが表示されます。

Error: Syntax error in durative-action declaration.
Error: Unreadable structure
Error: Syntax error in domain

助けてくれてありがとう。

4

2 に答える 2