MODULE Xerox; VAR i, j, k: INTEGER; state: ARRAY [0..63] OF BITSET; PROCEDURE p; VAR s: BITSET; PROCEDURE reset(i, j: INTEGER); VAR k: INTEGER; BEGIN k := i + j + 1; k := i + j; WHILE (i < k) & ((0 IN state[i+j]) OR (state[i]<=s)) DO state[i] := s; i := i + 1 END END reset; BEGIN s := {2..6}; reset(4, 32) END p; BEGIN k := i + j + 1; k := i + j; p END Xerox.