diff options
author | 2009-07-15 21:03:41 +0000 | |
---|---|---|
committer | 2009-07-15 21:03:41 +0000 | |
commit | ce1c2de044c91624370411e23acab13b0381949b (patch) | |
tree | 592539996fe08050ead5ee210c973801611dde40 /Test/test20/PolyPolyPoly2.bpl |
Initial set of files.
Diffstat (limited to 'Test/test20/PolyPolyPoly2.bpl')
-rw-r--r-- | Test/test20/PolyPolyPoly2.bpl | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/Test/test20/PolyPolyPoly2.bpl b/Test/test20/PolyPolyPoly2.bpl new file mode 100644 index 00000000..b07c565a --- /dev/null +++ b/Test/test20/PolyPolyPoly2.bpl @@ -0,0 +1,34 @@ +
+const p: <a>[]a;
+const q: <a,b>[a]b;
+
+axiom (p[] == p[]); // warning
+axiom (p[][13 := false] == q);
+axiom (p[][13 := false] == p[]); // warning
+
+const c: bv17;
+
+axiom (p[] ++ p[] ++ c == p[]); // warning
+axiom (p[] ++ p[] == c); // warning
+axiom (p[] == c);
+
+type List _;
+
+function emptyList<a>() returns (List a);
+function append<a>(List a, List a) returns (List a);
+
+axiom (forall<a> l:List a :: append(emptyList(), l) == l);
+axiom (forall<a> l:List a :: append(l, emptyList()) == l);
+axiom (append(emptyList(), emptyList()) == emptyList()); // warning
+axiom (forall<a> l:List a :: l==emptyList() ==> append(l, emptyList()) == emptyList());
+
+var x: <a>[]a;
+var y: <a>[a]a;
+
+procedure P() returns () modifies x, y; {
+ x[] := 15;
+ x[] := false;
+ x[] := p[]; // warning
+ x[] := q[false]; // warning
+ y[13] := q[false];
+}
\ No newline at end of file |