mirror of
https://github.com/Z3Prover/z3
synced 2025-04-28 19:35:50 +00:00
Add RUP checking mode to proof checker.
This commit is contained in:
parent
8cb118235a
commit
0f475f45b5
3 changed files with 63 additions and 19 deletions
|
@ -370,7 +370,10 @@ namespace arith {
|
|||
expr* x, *y;
|
||||
for (expr* arg : *jst) {
|
||||
if (even) {
|
||||
VERIFY(a.is_numeral(arg, coeff));
|
||||
if (!a.is_numeral(arg, coeff)) {
|
||||
IF_VERBOSE(0, verbose_stream() << "not numeral " << mk_pp(jst, m) << "\n");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else {
|
||||
bool sign = m.is_not(arg, arg);
|
||||
|
@ -387,13 +390,16 @@ namespace arith {
|
|||
}
|
||||
even = !even;
|
||||
}
|
||||
// display(verbose_stream());
|
||||
// todo: correlate with literals in clause, literals that are not in clause should have RUP property.
|
||||
return check_farkas();
|
||||
if (check_farkas())
|
||||
return true;
|
||||
|
||||
IF_VERBOSE(0, verbose_stream() << "did not check farkas\n" << mk_pp(jst, m) << "\n");
|
||||
return false;
|
||||
}
|
||||
|
||||
// todo: rules for bounds and implied-by
|
||||
|
||||
|
||||
IF_VERBOSE(0, verbose_stream() << "did not check " << mk_pp(jst, m) << "\n");
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue