diff --git a/lib/pddlparse/src/pddlparse/detail/normalization/Precondition.cpp b/lib/pddlparse/src/pddlparse/detail/normalization/Precondition.cpp index 5e4d406..db807c1 100644 --- a/lib/pddlparse/src/pddlparse/detail/normalization/Precondition.cpp +++ b/lib/pddlparse/src/pddlparse/detail/normalization/Precondition.cpp @@ -134,17 +134,6 @@ normalizedAST::Literal normalizeNested(ast::ImplyPointer &, n normalizedAST::Literal normalizeNested(ast::NotPointer ¬_, normalizedAST::DerivedPredicateDeclarations &derivedPredicates) { - // “not” expressions may be nested one time to form simple literals - if (not_->argument.is()) - return std::make_unique>(normalize(std::move(not_->argument.get()))); - - std::vector parameters; - VariableStack variableStack; - - collectFreeVariables(not_, parameters, variableStack); - - auto derivedPredicate = addDerivedPredicate(parameters, derivedPredicates); - auto normalizedArgumentLiteral = not_->argument.match( [&](auto &x) -> normalizedAST::Literal { @@ -157,10 +146,7 @@ normalizedAST::Literal normalizeNested(ast::NotPointer ¬_, auto &normalizedArgument = normalizedArgumentLiteral.get(); - derivedPredicate->declaration->precondition = std::make_unique>(std::move(normalizedArgument)); - - // TODO: investigate, could be a compiler bug - return std::move(derivedPredicate); + return std::make_unique>(std::move(normalizedArgument)); } ////////////////////////////////////////////////////////////////////////////////////////////////////