Consider the following example:

   aParam bParam cParam - object
   a2Param - aParam

 (:action someAction
    :parameters(?a aParam ?b bParam)
    :precondition(and (predicate1 ?a ?b)
                      (predicate2 ?c ?b)
                      (predicate3 ?c ?a))

Suppose someAction only needs parameters of type aParam and bParam, which are mentioned ?a and ?b in the parameters section, but then predicate2 and predicate3 require ?c of type cParam. Is this syntax allowed? or should we also mention ?c ?cParam inside parameters and have

   :parameters(?a aParam ?b bParam ?c cParam)

Similar question is considering effects with extra parameters.


1 Answer 1


You should also have ?c in the parameter list. Every parameter that you use needs to be bound to some declaration. Also, note that you need to specify your parameters with the right typing syntax. So it would be...

 :parameters (?a - aParam ?b - bParam ?c - cParam)

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .