summaryrefslogtreecommitdiff
path: root/Test/textbook/McCarthy-91.bpl
blob: 895c8e8c14481e092641629277746d0216028754 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
// RUN: %boogie %s > %t
// RUN: %diff %s.expect %t
// McCarthy 91 function
procedure F(n: int) returns (r: int)
  ensures 100 < n ==> r == n - 10;
  ensures n <= 100 ==> r == 91;
{
  if (100 < n) {
    r := n - 10;
  } else {
    call r := F(n + 11);
    call r := F(r);
  }
}