original.name="While_Valid_16" ====== >>> main.whiley type nat is (int x) where x >= 0 function inc(nat[] src) -> (nat[] result) // Result must be same size as input ensures |result| == |src| // Every element of result must be positive ensures all { x in 0 .. |src| | result[x] > 0 }: // int i = 0 int[] osrc = src // while i < |src| where i >= 0 && i <= |src| where |src| == |osrc| where all { x in 0 .. i | src[x] > 0 }: // src[i] = src[i] + 1 i = i + 1 return src public export method test() : nat[] xs = [1, 3, 5, 7, 9, 11] xs = inc(xs) assume xs == [2, 4, 6, 8, 10, 12] ---