1 |
14. L2 : T List
15. f^n-1(L) = L2
L2
guarded_permutation(T; L,i. P(L,i)) if null(L2) L2
guarded_permutation(T; L,i. P(L,i)) else let i = search(||L2||-1;P(L2)) in
guarded_permutation(T; L,i. P(L,i)) else if i= 0 L2
guarded_permutation(T; L,i. P(L,i)) else else swap(L2;i-1;i) fi fi
 | 8 steps |