fis sessions
[why3.git] / examples / coma / post_incr.coma
blobad523b25214a33e58a67b41fef01e33545d54ced
1 use int.Int
2 use coma.Std
4 let postIncr [@coma:extspec] (&r: int) (return (p: int)) =
5   (fun (v: int) ->
6     (! [ &r <- r+1 ] break)
7     [ break -> { r = v+1 } (! return {v}) ]) {r}
9 let postIncrLet [@coma:extspec] (&r: int) (return (p: int)) =
10   (! [&r <- r+1] break)
11   [ break -> { r = v+1 } (! return {v}) ]
12   [ v: int = r ]
14 let postIncrPro [@coma:extspec]
15       (&r: int) [v: int = r] {} (return (p: int) {r = v + 1} {p = v})
16 = [ &r <- r+1 ] return {v}