// RUN: %boogie -typeEncoding:n -logPrefix:0n %s > %t // RUN: %diff %s.n.expect %t // RUN: %boogie -typeEncoding:p -logPrefix:0p %s > %t // RUN: %diff %s.p.expect %t // RUN: %boogie -typeEncoding:a -logPrefix:0a %s > %t // RUN: %diff %s.a.expect %t type T; function f() returns (int); // functions without arguments function g() returns (T); const c : T; axiom (f() >= 13); axiom (g() != c); procedure P() returns () { var x : int; x := f(); assert x >= 0 && f() >= 7; assert g() != c; assert f() >= 20; // should not be provable }