+SUBDIRS = precedence
+
TESTS_ENVIRONMENT = @srcdir@/../run_regression @top_builddir@/../../bin/cvc4
TESTS = hole6.cvc \
logops.01.cvc \
--- /dev/null
+topdir = ../../../..
+srcdir = test/regress/regress0/precedence
+
+include $(topdir)/Makefile.subdir
+
+# synonyms for "check"
+.PHONY: test
+test: check
--- /dev/null
+TESTS_ENVIRONMENT = @srcdir@/../../run_regression @top_builddir@/../../bin/cvc4
+TESTS = iff-implies.cvc \
+ implies-iff.cvc \
+ implies-or.cvc \
+ or-implies.cvc \
+ or-xor.cvc \
+ xor-or.cvc \
+ xor-and.cvc \
+ and-xor.cvc \
+ and-not.cvc \
+ not-and.cvc \
+ not-eq.cvc \
+ eq-fun.cvc \
+ iff-assoc.cvc \
+ implies-assoc.cvc \
+ xor-assoc.cvc
+
+
+# synonyms for "check"
+.PHONY: regress regress0 test
+regress regress0 test: check
+
+# do nothing in this subdir
+.PHONY: regress1 regress2 regress3
+regress1 regress2 regress3:
--- /dev/null
+% EXPECT: VALID
+% Simple test for right precedence of AND and NOT.
+
+A, B: BOOLEAN;
+
+QUERY (A AND NOT B) <=> (A AND (NOT B));
--- /dev/null
+% EXPECT: VALID
+% Simple test for right precedence of XOR and AND.
+
+A, B, C: BOOLEAN;
+
+QUERY (A AND B XOR C) <=> ((A AND B) XOR C);
--- /dev/null
+% EXPECT: VALID
+% Simple test for right precedence of function application and =
+
+T : TYPE;
+x , y: T;
+f : T -> T;
+
+QUERY (f(x) = f(y)) <=> ((f(x)) = (f(y)));
--- /dev/null
+% EXPECT: VALID
+% Simple test for right associativity of <=>
+
+A, B, C: BOOLEAN;
+
+QUERY (A <=> B <=> C) <=> (A <=> (B <=> C));
--- /dev/null
+% EXPECT: VALID
+% Simple test for right precedence of <=> and =>.
+
+A, B, C: BOOLEAN;
+
+QUERY (A <=> B => C) <=> ((A <=> (B => C)));
--- /dev/null
+% EXPECT: VALID
+% Simple test for right associativity of =>
+
+A, B, C: BOOLEAN;
+
+QUERY (A => B => C) <=> (A => (B => C));
--- /dev/null
+% EXPECT: VALID
+% Simple test for right precedence of <=> and =>.
+
+A, B, C: BOOLEAN;
+
+QUERY (A => B <=> C) <=> ((A => B) <=> C);
--- /dev/null
+% EXPECT: VALID
+% Simple test for right precedence of => and OR.
+
+A, B, C: BOOLEAN;
+
+QUERY (A => B OR C) <=> (A => (B OR C));
--- /dev/null
+% EXPECT: VALID
+% Simple test for right precedence of AND and NOT.
+
+A, B, C: BOOLEAN;
+
+QUERY (NOT A AND B) <=> ((NOT A) AND B);
--- /dev/null
+% EXPECT: VALID
+% Simple test for right precedence of = and NOT.
+
+A, B: BOOLEAN;
+
+QUERY (NOT A = B) <=> (NOT (A = B));
--- /dev/null
+% EXPECT: VALID
+% Simple test for right precedence of => and OR.
+
+A, B, C: BOOLEAN;
+
+QUERY (A OR B => C) <=> ((A OR B) => C);
--- /dev/null
+% EXPECT: VALID
+% Simple test for right precedence of OR and XOR.
+
+A, B, C: BOOLEAN;
+
+QUERY (A OR B XOR C) <=> (A OR (B XOR C));
--- /dev/null
+% EXPECT: VALID
+% Simple test for right precedence of XOR and AND.
+
+A, B, C: BOOLEAN;
+
+QUERY (A XOR B AND C) <=> (A XOR (B AND C));
--- /dev/null
+% EXPECT: VALID
+% Simple test for left associativity of XOR
+
+A, B, C: BOOLEAN;
+
+QUERY (A XOR B XOR C) <=> ((A XOR B) XOR C);
--- /dev/null
+% EXPECT: VALID
+% Simple test for right precedence of OR and XOR.
+
+A, B, C: BOOLEAN;
+
+QUERY (A XOR B OR C) <=> ((A XOR B) OR C);