We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 6406fdf commit e1fb6b7Copy full SHA for e1fb6b7
unit/solvers/prop/bdd_expr.cpp
@@ -44,4 +44,25 @@ SCENARIO("bdd_expr", "[core][solver][prop][bdd_expr]")
44
REQUIRE(bdd.as_expr() == bdd2.as_expr());
45
}
46
47
+
48
+ GIVEN("A bdd for (a&!b)")
49
+ {
50
+ const symbol_exprt a("a", bool_typet());
51
+ const symbol_exprt b("b", bool_typet());
52
53
+ bdd_exprt bdd{ns};
54
+ bdd.from_expr(and_exprt(a, not_exprt(b)));
55
56
+ WHEN("It is converted to an exprt")
57
58
+ const exprt result = bdd.as_expr();
59
+ THEN("It is equal to the expression (a & !b) or (!b & a)")
60
61
+ REQUIRE(result.id() == ID_and);
62
+ REQUIRE(result.operands().size() == 2);
63
+ REQUIRE((result.op0() == a || result.op1() == a));
64
+ REQUIRE((result.op0() == not_exprt(b) || result.op1() == not_exprt(b)));
65
+ }
66
67
68
0 commit comments