diff options
author | François Bobot <francois@bobot.eu> | 2012-07-27 13:36:32 +0000 |
---|---|---|
committer | François Bobot <francois@bobot.eu> | 2012-07-27 13:36:32 +0000 |
commit | 4bfa927dac67bbcadf219f70e61f1d123e33944b (patch) | |
tree | f295343430799748de8b9a823f1a3c641c096905 /test/regress/regress0/rewriterules/relation.smt2 | |
parent | 988c97d92fa617c5dccaeb1ef33121bfa6459afc (diff) |
Merge quantifiers2-trunk:
- new syntax for rewrite rules
- better rewrite rules theory
- remove the rewriting with rewrite rules during ppRewrite temporarily
- theory can define their own candidate generator
- define a general candidate generator (inefficient ask to every theory)
- split inst_match between the pattern matching used for quantifiers (inst_match.*) and
the one used for rewrite rules (rr_inst_match.*):
- the pattern matching is less exhaustive for quantifiers,
- the one for rewrite rules can use efficient-e-matching.
Diffstat (limited to 'test/regress/regress0/rewriterules/relation.smt2')
-rw-r--r-- | test/regress/regress0/rewriterules/relation.smt2 | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/test/regress/regress0/rewriterules/relation.smt2 b/test/regress/regress0/rewriterules/relation.smt2 new file mode 100644 index 000000000..a327a90a4 --- /dev/null +++ b/test/regress/regress0/rewriterules/relation.smt2 @@ -0,0 +1,27 @@ +(set-logic AUFLIA) +(set-info :status unsat) + +;; don't use a datatypes for currently focusing in uf +(declare-sort elt 0) + +(declare-fun R (elt elt) Bool) + +;; reflexive +(assert-rewrite ((x elt)) () (R x x) true ()) + +;; transitive +(assert-propagation ((x elt) (y elt) (z elt)) () ((R x y) (R y z)) (R x z) ()) + +;; anti-symmetric +(assert-propagation ((x elt) (y elt)) () ((R x y) (R y x)) (= x y) ()) + +(declare-fun e1 () elt) +(declare-fun e2 () elt) +(declare-fun e3 () elt) +(declare-fun e4 () elt) + +(assert (not (=> (and (R e1 e2) (R e2 e3) (R e3 e4) (R e4 e1)) (= e1 e4)))) + +(check-sat) + +(exit)
\ No newline at end of file |