Move Tristate class to Utils header
The Tristate class (representing truth values that are either true, false, or unknown) will be used at multiple ends. This moves it to a separate header in order to reuse it properly.
This commit is contained in:
parent
618189368c
commit
f7d99c82fa
@ -3,6 +3,7 @@
|
||||
|
||||
#include <anthem/AST.h>
|
||||
#include <anthem/ASTUtils.h>
|
||||
#include <anthem/Utils.h>
|
||||
|
||||
namespace anthem
|
||||
{
|
||||
@ -15,16 +16,6 @@ namespace ast
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// TODO: move to separate class
|
||||
enum class Tristate
|
||||
{
|
||||
True,
|
||||
False,
|
||||
Unknown,
|
||||
};
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
Tristate equal(const Formula &lhs, const Formula &rhs);
|
||||
Tristate equal(const Term &lhs, const Term &rhs);
|
||||
|
||||
|
@ -23,6 +23,15 @@ constexpr const auto UserVariablePrefix = "U";
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
enum class Tristate
|
||||
{
|
||||
True,
|
||||
False,
|
||||
Unknown,
|
||||
};
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
|
@ -363,7 +363,7 @@ struct SimplificationRuleSubsumptionInBiconditionals
|
||||
std::find_if(and_.arguments.cbegin(), and_.arguments.cend(),
|
||||
[&](const auto &argument)
|
||||
{
|
||||
return (ast::equal(predicateSide, argument) == ast::Tristate::True);
|
||||
return (ast::equal(predicateSide, argument) == Tristate::True);
|
||||
});
|
||||
|
||||
if (matchingPredicate == and_.arguments.cend())
|
||||
|
Loading…
Reference in New Issue
Block a user