3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-23 00:55:31 +00:00

adding consequence examples

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2016-07-29 17:24:14 -07:00
parent 82d0310d94
commit 2263be1b4d
3 changed files with 26 additions and 1 deletions

View file

@ -1111,6 +1111,24 @@ void param_descrs_example() {
}
}
void consequence_example() {
std::cout << "consequence example\n";
context c;
expr A = c.bool_const("a");
expr B = c.bool_const("b");
expr C = c.bool_const("c");
solver s(c);
s.add(implies(A, B));
s.add(implies(B, C));
expr_vector assumptions(c), vars(c), consequences(c);
assumptions.push_back(!C);
vars.push_back(A);
vars.push_back(B);
vars.push_back(C);
std::cout << s.consequences(assumptions, vars, consequences) << "\n";
std::cout << consequences << "\n";
}
int main() {
try {
@ -1154,6 +1172,7 @@ int main() {
extract_example(); std::cout << "\n";
param_descrs_example(); std::cout << "\n";
sudoku_example(); std::cout << "\n";
consequence_example(); std::cout << "\n";
std::cout << "done\n";
}
catch (exception & ex) {