diff options
author | mikebarnett <unknown> | 2009-07-15 21:03:41 +0000 |
---|---|---|
committer | mikebarnett <unknown> | 2009-07-15 21:03:41 +0000 |
commit | ce1c2de044c91624370411e23acab13b0381949b (patch) | |
tree | 592539996fe08050ead5ee210c973801611dde40 /Test/test21/HeapAbstraction.bpl |
Initial set of files.
Diffstat (limited to 'Test/test21/HeapAbstraction.bpl')
-rw-r--r-- | Test/test21/HeapAbstraction.bpl | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/Test/test21/HeapAbstraction.bpl b/Test/test21/HeapAbstraction.bpl new file mode 100644 index 00000000..1d2a7f99 --- /dev/null +++ b/Test/test21/HeapAbstraction.bpl @@ -0,0 +1,19 @@ +
+
+type Field a, Heap = <a>[ref, Field a]a;
+
+function f<b>(<a>[b, Field a]a) returns (int);
+
+axiom (forall x:<a>[int, Field a]a :: f(x) == 17);
+
+axiom (forall x:<a>[ref, Field a]a :: f(x) == 42);
+
+procedure P() returns () {
+ var h : Heap, g : <a>[bool, Field a]a;
+
+ assert f(h) == 42;
+ assert f(g) >= 0; // should not be provable
+}
+
+type ref;
+const null : ref;
|