mirror of
https://github.com/Z3Prover/z3
synced 2025-05-05 23:05:46 +00:00
handle eq-propagate arithetic rule
This commit is contained in:
parent
763ae0d246
commit
749f95c9d7
5 changed files with 166 additions and 14 deletions
|
@ -386,7 +386,7 @@ class iz3mgr {
|
|||
return UnknownTheory;
|
||||
}
|
||||
|
||||
enum lemma_kind {FarkasKind,Leq2EqKind,Eq2LeqKind,GCDTestKind,AssignBoundsKind,UnknownKind};
|
||||
enum lemma_kind {FarkasKind,Leq2EqKind,Eq2LeqKind,GCDTestKind,AssignBoundsKind,EqPropagateKind,UnknownKind};
|
||||
|
||||
lemma_kind get_theory_lemma_kind(const ast &proof){
|
||||
symb s = sym(proof);
|
||||
|
@ -402,6 +402,8 @@ class iz3mgr {
|
|||
return GCDTestKind;
|
||||
if(foo == "assign-bounds")
|
||||
return AssignBoundsKind;
|
||||
if(foo == "eq-propagate")
|
||||
return EqPropagateKind;
|
||||
return UnknownKind;
|
||||
}
|
||||
|
||||
|
@ -417,6 +419,8 @@ class iz3mgr {
|
|||
|
||||
void get_assign_bounds_rule_coeffs(const ast &proof, std::vector<ast>& rats);
|
||||
|
||||
bool is_farkas_coefficient_negative(const ast &proof, int n);
|
||||
|
||||
bool is_true(ast t){
|
||||
return op(t) == True;
|
||||
}
|
||||
|
@ -441,6 +445,10 @@ class iz3mgr {
|
|||
|
||||
ast z3_simplify(const ast& e);
|
||||
|
||||
/** Simplify, sorting sums */
|
||||
ast z3_really_simplify(const ast &e);
|
||||
|
||||
|
||||
// Some constructors that simplify things
|
||||
|
||||
ast mk_not(ast x){
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue