Pairing Functions, Boolean Evaluation and Binary Decision Diagrams in Prolog
Paul Tarau

TL;DR
This paper introduces a novel encoding of Binary Decision Diagrams (BDDs) using pairing functions on natural numbers, enabling faithful boolean evaluation and efficient ranking/unranking of BDDs within Prolog.
Contribution
It presents a new method to encode BDDs as natural numbers via pairing functions, linking their structure to truth table representations and enabling efficient manipulation.
Findings
Encoding of BDDs as natural numbers preserves boolean evaluation
Derived ranking and unranking functions for BDDs
Implementation as a self-contained Prolog program
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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsFormal Methods in Verification · Logic, programming, and type systems · Logic, Reasoning, and Knowledge
