summaryrefslogtreecommitdiff
path: root/src/theory/quantifiers/sygus_sampler.h
diff options
context:
space:
mode:
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>2018-10-12 15:44:22 -0500
committerGitHub <noreply@github.com>2018-10-12 15:44:22 -0500
commit8597f207187baff3b9f8cc5d8955e5b96d6d57d0 (patch)
treee521502480881b5da407a2ac95954f79171c4450 /src/theory/quantifiers/sygus_sampler.h
parent9f5fb42580e00370ea461be5a00f8debfb59b636 (diff)
Improvements to rewrite rules from inputs (#2625)
Diffstat (limited to 'src/theory/quantifiers/sygus_sampler.h')
-rw-r--r--src/theory/quantifiers/sygus_sampler.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/theory/quantifiers/sygus_sampler.h b/src/theory/quantifiers/sygus_sampler.h
index 64706264a..98f52992b 100644
--- a/src/theory/quantifiers/sygus_sampler.h
+++ b/src/theory/quantifiers/sygus_sampler.h
@@ -144,6 +144,19 @@ class SygusSampler : public LazyTrieEvaluator
* y and y+x are not.
*/
bool isOrdered(Node n);
+ /** is linear
+ *
+ * This returns whether n contains at most one occurrence of each free
+ * variable. For example, x, x+y are linear, but x+x, (x-y)+y, (x+0)+(x+0) are
+ * non-linear.
+ */
+ bool isLinear(Node n);
+ /** check variables
+ *
+ * This returns false if !isOrdered(n) and checkOrder is true or !isLinear(n)
+ * if checkLinear is true, or false otherwise.
+ */
+ bool checkVariables(Node n, bool checkOrder, bool checkLinear);
/** contains free variables
*
* Returns true if the free variables of b are a subset of those in a, where
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback