Propriété — Le code de Lehmer L est une bijection de
dans [[1,1]]×[[1,2]]×[[1,3]]×⋯×[[1,n]].
Un algorithme
Un algorithme simple permet de reconstituer σ à partir de ƒ=L(σ). Par exemple, le code ƒ=113252 correspond à une permutation σ telle que σ(6)=2. En effet on voit que, par définition, L(σ,n)=σ(n). C'est le premier pas de l'algorithme :
l'avant-dernier terme de la suite ƒ, égal à L(σ,5)=5, signifie que parmi les 5 images possibles pour 5, (1,3,4,5,6), il faut choisir la 5ème, σ(5)=6 :
le terme 2=L(σ,4), en 4ème position de la suite ƒ, signifie que parmi les 4 images possibles pour 4, (1,3,4,5), il faut choisir la 2ème, σ(4)=3 :
le terme 3=L(σ,3), en 3ème position de la suite ƒ, signifie que parmi les 3 images possibles pour 3, (1,4,5), il faut choisir σ(3)=5 :
on termine avec σ(2)=1 :
puis σ(1)=4 :
on a donc σ=(4,1,5,3,6,2). Il est clair d'après le déroulement de l'algorithme qu'à chaque pas il y a un choix pour σ(k), et il n'y en a qu'un. Donc chaque suite ƒ de
possède un antécédent et un seul dans Sn.
Un algorithme alternatif
Une autre possibilité est de construire σ directement à partir de ƒ=113252 de la manière suivante :
- insérer 1 à la 1ère et seule place possible dans la suite x, ce qui donne 1,
- insérer 2 à la 1ère des places possibles dans la suite x1x, ce qui donne 21,
- insérer 3 à la 3ème des places possibles dans la suite x2x1x, ce qui donne 213,
- insérer 4 à la 2ème des places possibles dans la suite x2x1x3x, ce qui donne 2413,
- insérer 5 à la 5ème des places possibles dans la suite x2x4x1x3x, ce qui donne 24135,
- insérer 6 à la 2ème des places possibles dans la suite x2x4x1x3x5x, ce qui donne 264135.
On peut maintenant déduire σ de σ. Cette construction est justifiée par l'observation suivante : par définition, ƒ(i) est le rang de σ(i) quand on range la suite (σ(1), σ(2), σ(3), ... , σ(i-1), σ(i)) dans l'ordre croissant.