repo.or.cz
/
why3.git
/
blob
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
log
|
graphiclog1
|
graphiclog2
|
commit
|
commitdiff
|
tree
|
refs
|
edit
|
fork
blame
|
history
|
raw
|
HEAD
fix sessions and CE oracles
[why3.git]
/
bench
/
infer
/
bool_ops.mlw
blob
c7d0dd4c036e2ad95ff6fcee0009dd779c2d6204
1
2
3
use ref.Ref
4
use int.Int
5
use bool.Bool
6
7
val random_bool () : bool
8
9
val andb (x:bool) (y:bool) : bool
10
ensures { result = True <-> x = True /\ y = True }
11
12
let f [@bddinfer] [@infer] () : bool
13
diverges
14
=
15
let x = ref True in
16
let y = ref True in
17
let z = ref True in
18
let a = ref True in
19
while !z do
20
x := random_bool ();
21
y := random_bool ();
22
z := andb !x !y;
23
a := !z;
24
done;
25
!a