summaryrefslogtreecommitdiff
path: root/Test/test21/BooleanQuantification.bpl
diff options
context:
space:
mode:
authorGravatar mikebarnett <unknown>2009-07-15 21:03:41 +0000
committerGravatar mikebarnett <unknown>2009-07-15 21:03:41 +0000
commitce1c2de044c91624370411e23acab13b0381949b (patch)
tree592539996fe08050ead5ee210c973801611dde40 /Test/test21/BooleanQuantification.bpl
Initial set of files.
Diffstat (limited to 'Test/test21/BooleanQuantification.bpl')
-rw-r--r--Test/test21/BooleanQuantification.bpl32
1 files changed, 32 insertions, 0 deletions
diff --git a/Test/test21/BooleanQuantification.bpl b/Test/test21/BooleanQuantification.bpl
new file mode 100644
index 00000000..52416e9d
--- /dev/null
+++ b/Test/test21/BooleanQuantification.bpl
@@ -0,0 +1,32 @@
+
+
+
+function f(bool) returns (int);
+
+axiom f(true) == 17;
+axiom f(false) == 19;
+
+procedure P() returns () {
+ assert (forall x:bool :: f(x) >= 0);
+}
+
+procedure Q() returns () {
+ assert (forall x:int :: (x==7 || x==9) ==> x >= 0);
+}
+
+procedure R() returns () {
+ assert f((forall x:bool :: f(x) >= 10)) < 19;
+ assert (exists x:bool :: f(x) > 20); // should not be provable
+}
+
+
+function g<a>(a) returns (int);
+
+axiom g(true) == 17;
+axiom g(false) == 21;
+
+procedure S() returns () {
+ assert (forall x:bool :: g(x) >= 0);
+ assert g((forall x:bool :: g(x) >= 0)) >= 17;
+ assert (forall x:bool :: f(x) == g(x)); // should not be provable
+} \ No newline at end of file