arXiv · 0808.0554
Ranking and Unranking of Hereditarily Finite Functions and Permutations
Abstract
Prolog's ability to return multiple answers on backtracking provides an elegant mechanism to derive reversible encodings of combinatorial objects as Natural Numbers i.e. {\em ranking} and {\em unranking} functions. Starting from a generalization of Ackerman's encoding of Hereditarily Finite Sets with Urelements and a novel tupling/untupling operation, we derive encodings for Finite Functions and use them as building blocks for an executable theory of {\em Hereditarily Finite Functions}. The more difficult problem of {\em ranking} and {\em unranking} {\em Hereditarily Finite Permutations} is then tackled using Lehmer codes and factoradics. The paper is organized as a self-contained literate Prolog program available at \url{http://logic.csci.unt.edu/tarau/research/2008/pHFF.zip}
Explore related subjects
Keep this discovery
Paul Tarau. 2008-08-05. Ranking and Unranking of Hereditarily Finite Functions and Permutations. https://arxiv.org/abs/0808.0554
Cite the original work for its findings. Save a collection to share your selection of sources.