10 #ifndef SYMBOLIC_DERIVED_PREDICATE_H_
11 #define SYMBOLIC_DERIVED_PREDICATE_H_
13 #include "symbolic/action.h"
17 class derivation_rule;
27 const VAL::derivation_rule* symbol()
const {
return symbol_; }
29 const VAL::effect_lists* postconditions()
const =
delete;
31 bool Apply(
State* state)
const;
33 State Apply(
const State& state,
const std::vector<Object>& arguments)
const =
delete;
35 bool Apply(
const std::vector<Object>& arguments,
State* state)
const =
delete;
37 static State Apply(
const State& state,
const std::vector<DerivedPredicate>& predicates);
39 static bool Apply(
const std::vector<DerivedPredicate>& predicates,
State* state);
42 const VAL::derivation_rule* symbol_;
47 #endif // SYMBOLIC_DERIVED_PREDICATE_H_