diff --git a/include/plasp/pddl/translation/Primitives.h b/include/plasp/pddl/translation/Primitives.h index 51f2b29..24d3dbb 100644 --- a/include/plasp/pddl/translation/Primitives.h +++ b/include/plasp/pddl/translation/Primitives.h @@ -56,15 +56,13 @@ inline void translateLiteral(output::ColorStream &outputStream, const Expression } else if (literal.is()) { - //const auto &derivedPredicate = literal.as(); + const auto &derivedPredicate = literal.as(); - /*m_outputStream << output::Keyword("variable") << "("; - translation::translatePredicate(predicate); - m_outputStream << "), " << output::Keyword("value") << "("; - translation::translatePredicate(predicate); - m_outputStream << ", " << output::Boolean("true") << ")";*/ - - outputStream << "(derived predicate)"; + outputStream << output::Keyword("derivedVariable") << "("; + translation::translateDerivedPredicate(outputStream, derivedPredicate); + outputStream << "), " << output::Keyword("value") << "("; + translation::translateDerivedPredicate(outputStream, derivedPredicate); + outputStream << ", " << output::Boolean("true") << ")"; } else throw output::TranslatorException("only primitive predicates and their negations supported as literals currently");