blob: 79555d2898058cd4edfd567d14bc9dc9d853c31f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
// RUN: %boogie -noVerify "%s" > "%t"
// RUN: %diff "%s.expect" "%t"
function union(<a> [a] bool, <a> [a] bool) returns (<a> [a] bool);
axiom (forall<alpha> // error: alpha has to occur in dummy types
x : <a> [a] bool, y : <a> [a] bool,
z : int ::
{ union(x, y)[z] }
union(x, y)[z] == (x[z] || y[z]));
function poly<a>() returns (a);
axiom (forall<alpha>
x : <a> [a] bool, y : <a> [a] bool,
z : int ::
{ union(x, y)[z], poly() : alpha }
union(x, y)[z] == (x[z] || y[z]));
|