English

Pairing Functions, Boolean Evaluation and Binary Decision Diagrams in Prolog

Logic in Computer Science 2009-02-04 v2 Symbolic Computation

Abstract

A "pairing function" J associates a unique natural number z to any two natural numbers x,y such that for two "unpairing functions" K and L, the equalities K(J(x,y))=x, L(J(x,y))=y and J(K(z),L(z))=z hold. Using pairing functions on natural number representations of truth tables, we derive an encoding for Binary Decision Diagrams with the unique property that its boolean evaluation faithfully mimics its structural conversion to a a natural number through recursive application of a matching pairing function. We then use this result to derive {\em ranking} and {\em unranking} functions for BDDs and reduced BDDs. The paper is organized as a self-contained literate Prolog program, available at http://logic.csci.unt.edu/tarau/research/2008/pBDD.zip Keywords: logic programming and computational mathematics, pairing/unpairing functions, encodings of boolean functions, binary decision diagrams, natural number representations of truth tables

Keywords

Cite

@article{arxiv.0808.0555,
  title  = {Pairing Functions, Boolean Evaluation and Binary Decision Diagrams in Prolog},
  author = {Paul Tarau},
  journal= {arXiv preprint arXiv:0808.0555},
  year   = {2009}
}

Comments

also in the informal proceedings of CICLOPS 2008 workshop at: http://clip.dia.fi.upm.es/Conferences/CICLOPS-2008/CICLOPS-2008-proceedings.pdf

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