two forms of transformation extensionality
[why3.git] / examples_in_progress / mean.mlw
blob28a14ac413a751c2ee3c0d7feb51814a20d79ed3
1 module M
3   use int.Int
4   use int.EuclideanDivision as ED
5   use int.ComputerDivision
7   let mean (x:int) (y:int)
8     requires { 0 <= x <= y }
9     ensures { result = ED.div (x + y) 2 = div (x + y) 2 }
10   = x + div (y - x) 2
12 end