I am trying to solve a simple pddl problem using Fast Downward Planner. Whenever I am using numeric expressions such as >
, <
, >=
, decrease
and the like, the following error occurs:
Undeclared predicate: <
problem file:
(define (problem prob-gift)
(:domain gift)
(:objects
chocolate hairband hairclip gift
)
(:init
(=(amount_c chocolate)5)
(=(amount_hb hairband)5)
(=(amount_hr hairclip)5)
(=(made gift)0)
)
(:goal
(and
(=(made gift)5)
)
)
)
domain file:
(define (domain gift)
(:types chocolate hairband hairclip gift )
(:predicates
)
(:functions
(made ?x )
(amount_hb ?y )
(amount_hr ?z )
(amount_c ?a )
)
(:action make
:parameters (?x ?y ?z ?a)
:precondition (and
(<(made ?x)5)
(>=(amount_hb ?y)1)
(>=(amount_hr ?z)1)
(>=(amount_c ?a)1)
)
:effect (and
(increase(made ?x)1)
(decrease(amount_hb ?y)1)
(decrease(amount_hr ?z)1)
(decrease(amount_c ?a)1)
))
)
Output:
Parsing...
Undeclared predicate: <
translate exit code: 30
Driver aborting after translate