Efficient implementation of a BDD package
DAC '90 Proceedings of the 27th ACM/IEEE Design Automation Conference
Symbolic Boolean manipulation with ordered binary-decision diagrams
ACM Computing Surveys (CSUR)
On the OBDD-Representation of General Boolean Functions
IEEE Transactions on Computers
Software—Practice & Experience
Two classes of Boolean functions for dependency analysis
Science of Computer Programming
A faster solver for general systems of equations
Science of Computer Programming
A unified approach to global program optimization
POPL '73 Proceedings of the 1st annual ACM SIGACT-SIGPLAN symposium on Principles of programming languages
POPL '77 Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Propagating Differences: An Efficient New Fixpoint Algorithm for Distributive Constraint Systems
ESOP '98 Proceedings of the 7th European Symposium on Programming: Programming Languages and Systems
Memoing Evaluation by Source-to-Source Transformation
LOPSTR '95 Proceedings of the 5th International Workshop on Logic Programming Synthesis and Transformation
A Universal Top-Down Fixpoint Algorithm
A Universal Top-Down Fixpoint Algorithm
Worst-case groundness analysis using definite Boolean functions
Theory and Practice of Logic Programming
Hi-index | 0.00 |
We present a new method for finding closed forms of recursive Boolean function definitions. Traditionally, these closed forms are found by iteratively approximating until a fixed point is reached. Conceptually, our new method replaces each k-ary function by 2k Boolean variables defined by mutual recursion. The introduction of an exponential number of variables is mitigated by the simplicity of their definitions and by the use of a novel variant of ROBDDs to avoid repeated computation. Experimental evaluation suggests that this approach is significantly faster than Kleene iteration for examples that would require many Kleene iteration steps.