From 6a7f786c3b42cd97f40c400038a01073e17b9c82 Mon Sep 17 00:00:00 2001 From: Tim Quatmann Date: Wed, 15 Nov 2023 15:06:06 +0100 Subject: [PATCH] Fix not detecting terminal states when Boolean literals are present (#427) PR #422 introduced an error where for formulas like, e.g., `P=? [true U "a"]` the "a" was no longer detected as terminal label. --- src/storm/builder/TerminalStatesGetter.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/storm/builder/TerminalStatesGetter.cpp b/src/storm/builder/TerminalStatesGetter.cpp index caf61cacb..9db68593d 100644 --- a/src/storm/builder/TerminalStatesGetter.cpp +++ b/src/storm/builder/TerminalStatesGetter.cpp @@ -9,7 +9,7 @@ namespace builder { void getTerminalStatesFromFormula(storm::logic::Formula const& formula, std::function const& terminalExpressionCallback, std::function const& terminalLabelCallback) { - auto isAtomic = [](auto const& f) { return f.isAtomicExpressionFormula() || f.isAtomicLabelFormula(); }; + auto isAtomic = [](auto const& f) { return f.isAtomicExpressionFormula() || f.isAtomicLabelFormula() || f.isBooleanLiteralFormula(); }; if (formula.isAtomicExpressionFormula()) { terminalExpressionCallback(formula.asAtomicExpressionFormula().getExpression(), true); } else if (formula.isAtomicLabelFormula()) {