Sorting
Program sort1
assign
? j: 0 ? j ? N ::
A[j], A[j + 1] := A[j + 1], A[j] if A[j] > A[j + 1] ?
Program sort2
assign
? j: 0 ? j ? N ? even(j) ::
A[j], A[j + 1] := A[j + 1], A[j] if A[j] > A[j + 1] ?
? j: 0 ? j ? N ? odd(j) ::
A[j], A[j + 1] := A[j + 1], A[j] if A[j] > A[j + 1] ?
Program sort3
assign
? k: 0 ? k ? 1 ::
? || j: 0 ? j ? N ? (k = j mod 2) ::
A[j], A[j + 1] := A[j + 1], A[j] if A[j] > A[j + 1] ??