summaryrefslogtreecommitdiff
path: root/src/expr/proof_rule.h
diff options
context:
space:
mode:
authorGereon Kremer <gereon.kremer@cs.rwth-aachen.de>2021-02-23 17:51:53 +0100
committerGitHub <noreply@github.com>2021-02-23 17:51:53 +0100
commitb4c832ab30dafe048334c6e47642aa12619357ef (patch)
treeb37829eb546c49fd2921a3bd841db12e6f066408 /src/expr/proof_rule.h
parent7a695fd7c29af97dbcc363eb277ffeae1617cffe (diff)
Add proof for monomial bounds check (#5965)
This PR adds proofs for a nonlinear refinement lemma that deals with multiplication of inequalities with some term. This lemma is split into two proof rules for positive or negative factors.
Diffstat (limited to 'src/expr/proof_rule.h')
-rw-r--r--src/expr/proof_rule.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/expr/proof_rule.h b/src/expr/proof_rule.h
index d42175fab..bf6f1d6ae 100644
--- a/src/expr/proof_rule.h
+++ b/src/expr/proof_rule.h
@@ -1092,6 +1092,22 @@ enum class PfRule : uint32_t
// Conclusion: (Q)
INT_TRUST,
+ //======== Multiplication with positive factor
+ // Children: none
+ // Arguments: (m, orig, lhs, rel, rhs)
+ // ---------------------
+ // Conclusion: (=> (and (> m 0) (rel lhs rhs)) (rel (* m lhs) (* m rhs)))
+ // Where orig is the origin that implies (rel lhs rhs) and rel is a relation
+ // symbol.
+ ARITH_MULT_POS,
+ //======== Multiplication with negative factor
+ // Children: none
+ // Arguments: (m, orig, (rel lhs rhs))
+ // ---------------------
+ // Conclusion: (=> (and (< m 0) (rel lhs rhs)) (rel_inv (* m lhs) (* m rhs)))
+ // Where orig is the origin that implies (rel lhs rhs) and rel is a relation
+ // symbol and rel_inv the inverted relation symbol.
+ ARITH_MULT_NEG,
//======== Multiplication tangent plane
// Children: none
// Arguments: (t, x, y, a, b, sgn)
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback