summaryrefslogtreecommitdiff
path: root/Test/civl/termination2.bpl
blob: 1743c6a110bef35bb74d44bf9ec3dc1c347cb35c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// RUN: %boogie -noinfer -typeEncoding:m -useArrayTheory "%s" > "%t"
// RUN: %diff "%s.expect" "%t"
procedure {:yields} {:layer 0} X();
ensures {:atomic} |{ A: return true; }|;

procedure {:yields} {:layer 0} Y();
ensures {:left} |{ A: return true; }|;

procedure {:yields} {:layer 1} main() {
  yield;
  call X();
  while (*)
  invariant {:terminates} {:layer 1} true;
  {
    call Y();
  }
  yield;
  assert {:layer 1} true;
}