diff --git a/src/plasp/pddl/TranslatorASP.cpp b/src/plasp/pddl/TranslatorASP.cpp index 9120370..f84c2ac 100644 --- a/src/plasp/pddl/TranslatorASP.cpp +++ b/src/plasp/pddl/TranslatorASP.cpp @@ -411,6 +411,10 @@ void TranslatorASP::translateLiteral(const Expression &literal) const else if (literal.expressionType() == Expression::Type::Not) { const auto ¬Expression = dynamic_cast(literal); + + if (notExpression.expressionType() != Expression::Type::Predicate) + throw utils::TranslatorException("only negations of primitive predicates supported as literals currently"); + const auto &predicate = dynamic_cast(*notExpression.argument()); m_outputStream << utils::Keyword("variable") << "(";