[r := r-y]^4 : A4-> A5 [asg] if A5 = A4 \cup {r} [q := q+1]^5 : A5-> A6 [asg] if A6 = A5 \cup {q} _____________________[seq] { [r := r-y]^4; [q := q+1]^5; }: A4 -> A6 if A5 = A4 \cup {r}, A6 = A5 \cup {q} _________________________[wh] { while [r >= y]^3 do ([r := r-y]^4; [q := 0]^1 [r := x]^2 [q := q+1]^5); assert [0<=r and r A2 [asg] : A2-> A3 [asg] } : A3 -> A6 : A6 -> A7 if A2 = A1 \cup {q} if A3 = A2 \cup {r} if A5 = A4 \cup {r}, if AV7 = AV6 A6 = A5 \cup {q}, A6 = A3, A4=A3 ________________________________________________________________________________________________________________[seq] { [q := 0]^1; [r := x]^2; while [r >= y]^3 do ([r := r-y]^4; [q := q+1]^5); assert [0<=r and r A7 if AV2 = AV1 \cup {q} AV3 = AV2 \cup {r}, AV5 = AV4 \cup {r} AV6 = AV5 \cup {q} AV6 = AV3 AV4 = AV3 AV7 = AV6