Merge branch 'minimum-excludant-other-versions' into 'master'
[why3.git] / bench / infer / precision3.mlw
blobdaa796d65460fe1d2d416b3779c6c99d23127aaa
3 use int.Int
5 val cp (input : bool) (src : int) (ref tgt : int) : unit
6 writes { tgt }
7 ensures { (input = True /\ tgt = src) \/ ((input = False) /\ tgt = old tgt)}
9 val ref d : int
11 let e [@bddinfer] ()
12   diverges
13   requires { d = 0 }
14   =
15   while True
16   do
17    d <- d+1;
19    cp (1 < d) 0 d
20    (* This gives [0;+oo[ as domain for d, we would like [0;1] *)
22   done