summaryrefslogtreecommitdiff
path: root/Test/textbook/McCarthy-91.bpl
blob: 899a7ff180aed278e14937d8303fbf10f01b5dc4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
// 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);
  }
}