// simple assert procedure asserting() { var x: int; x := 0; assert x == 1; } // invariant failing initially procedure loopInvInitiallyViolated(y: int) { var x: int; x := y; while (true) invariant (x == 1); { x := 1; } } // invariant failing after iteration procedure loopInvMaintenanceViolated() { var x: int; x := 0; while (true) invariant x == 0; { x := 1; } }