mirror of
https://github.com/AdaCore/why3.git
synced 2026-02-12 12:34:55 -08:00
44 lines
656 B
Plaintext
44 lines
656 B
Plaintext
module While7
|
|
|
|
use int.Int
|
|
use ref.Ref
|
|
|
|
exception Myexc int
|
|
let b[@infer] [@bddinfer] (_:int) : int
|
|
ensures { result = 102 }
|
|
=
|
|
let i = ref 0 in
|
|
while !i < 100 do
|
|
variant { 100 - !i }
|
|
i := !i + 1;
|
|
if !i >= 100 then
|
|
i := 102;
|
|
done;
|
|
!i
|
|
|
|
let b2[@infer:oct] [@bddinfer] (_:int) : int
|
|
ensures { result = 102 }
|
|
=
|
|
let i = ref 0 in
|
|
while !i < 100 do
|
|
variant { 100 - !i }
|
|
i := !i + 1;
|
|
if !i >= 100 then
|
|
i := 102;
|
|
done;
|
|
!i
|
|
|
|
let b3[@infer:box] [@bddinfer] (_:int) : int
|
|
ensures { result = 102 }
|
|
=
|
|
let i = ref 0 in
|
|
while !i < 100 do
|
|
variant { 100 - !i }
|
|
i := !i + 1;
|
|
if !i >= 100 then
|
|
i := 102;
|
|
done;
|
|
!i
|
|
|
|
end
|