Consider an insertion sort. The outer loop counts i through the array indexes. The inner loop finds the correct position for a(i) in the array, then inserts it.

The invariant is that indices 0 through i are sorted, and&that the array is a permutation of the original. Thus, when the termination condition is satisfied, the entire array is a sorted permutation of the original, which is what you wanted.