Examples:
invariant vectorIndex(v:Int) { return 0..<3 ~= v }
var i:Int,vectorIndex: = 2
i = 3 // run-time error
invariant positive(v:Int) { return v > 0 }
invariant odd(v:Int) { return v % 2 == 1 }
var x:Int, positive, odd = 5
x = 2 // run-time error
func f(z:Int, positive, odd) {
…
}
f(-3) // run-time error