fix sessions and CE oracles
[why3.git] / bench / infer / bool_cond.mlw
blob3652517328f2bdcc2b1cf6ba882cbe7dd546a829
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 (0 < d) 0 d *)
20     (* This gives [0;0] as domain for d *)
22    cp (1 < d) 0 d
23     (* This gives [0;0[ as domain for d *)
25   done