English

Ranking Catamorphisms and Unranking Anamorphisms on Hereditarily Finite Datatypes

Symbolic Computation 2008-08-07 v1 Discrete Mathematics Data Structures and Algorithms

Abstract

Using specializations of unfold and fold on a generic tree data type we derive unranking and ranking functions providing natural number encodings for various Hereditarily Finite datatypes. In this context, we interpret unranking operations as instances of a generic anamorphism and ranking operations as instances of the corresponding catamorphism. Starting with Ackerman's Encoding from Hereditarily Finite Sets to Natural Numbers we define pairings and tuple encodings that provide building blocks for a theory of Hereditarily Finite Functions. The more difficult problem of ranking and unranking Hereditarily Finite Permutations is then tackled using Lehmer codes and factoradics. The self-contained source code of the paper, as generated from a literate Haskell program, is available at \url{http://logic.csci.unt.edu/tarau/research/2008/fFUN.zip}. Keywords: ranking/unranking, pairing/tupling functions, Ackermann encoding, hereditarily finite sets, hereditarily finite functions, permutations and factoradics, computational mathematics, Haskell data representations

Keywords

Cite

@article{arxiv.0808.0753,
  title  = {Ranking Catamorphisms and Unranking Anamorphisms on Hereditarily Finite Datatypes},
  author = {Paul Tarau},
  journal= {arXiv preprint arXiv:0808.0753},
  year   = {2008}
}

Comments

unpublished draft

R2 v1 2026-06-21T11:07:54.776Z