Graph-Based Algorithms for Boolean Function Manipulation
IEEE Transactions on Computers
A computational logic handbook
A computational logic handbook
The foundation of a generic theorem prover
Journal of Automated Reasoning
Introduction to algorithms
The verification of a bit-slice ALU
Proceedings of the Mathematical Sciences Institute workshop on Hardware specification, verification and synthesis: mathematical aspects
Digital image processing
Sequential circuit verification using symbolic model checking
DAC '90 Proceedings of the 27th ACM/IEEE Design Automation Conference
An automated tool for analyzing completeness of equational specifications
ISSTA '94 Proceedings of the 1994 ACM SIGSOFT international symposium on Software testing and analysis
An overview of the Tecton proof system
Theoretical Computer Science - Special issue on formal methods in databases and software engineering
Powerlist: a structure for parallel recursion
A classical mind
Constructors can be partial, too
Automated reasoning and its applications
Formal verification of the Sobel image processing chip
DAC '88 Proceedings of the 25th ACM/IEEE Design Automation Conference
Introduction to VLSI Systems
Formal Verification of a Pipelined Microprocessor
IEEE Software
Proceedings of the IFIP TC10/WG 10.2 International Conference on Theorem Provers in Circuit Design: Theory, Practice and Experience
Effective Theorem Proving for Hardware Verification
TPCD '94 Proceedings of the Second International Conference on Theorem Provers in Circuit Design - Theory, Practice and Experience
Automated Reasoning About Parallel Algorithms Using Powerlists
AMAST '95 Proceedings of the 4th International Conference on Algebraic Methodology and Software Technology
Rewriting, Decision Procedures and Lemma Speculation for Automated Hardware Verification
TPHOLs '97 Proceedings of the 10th International Conference on Theorem Proving in Higher Order Logics
Parametric Circuit Representation Using Inductive Boolean Functions
CAV '93 Proceedings of the 5th International Conference on Computer Aided Verification
Verifying the SRT Division Algorithm Using Theorem Proving Techniques
CAV '96 Proceedings of the 8th International Conference on Computer Aided Verification
Mechanically Verifying a Family of Multiplier Circuits
CAV '96 Proceedings of the 8th International Conference on Computer Aided Verification
A Mechanizable Induction Principle for Equational Specifications
Proceedings of the 9th International Conference on Automated Deduction
Implementing Contextual Rewriting
CTRS '92 Proceedings of the Third International Workshop on Conditional Term Rewriting Systems
Verification of Arithmetic Functions with Binary Moment Diagrams
Verification of Arithmetic Functions with Binary Moment Diagrams
Verifying Adder Circuits Using Powerlists
Verifying Adder Circuits Using Powerlists
Fm8501: a verified microprocessor (theorem-proving, computers, design)
Fm8501: a verified microprocessor (theorem-proving, computers, design)
Failure analyses of inductive theorem provers
Failure analyses of inductive theorem provers
Correctness proofs of parameterized hardware modules in the CATHEDRAL-II synthesis environment
EURO-DAC '90 Proceedings of the conference on European design automation
Inductively Verifying Invariant Properties of Parameterized Systems
Automated Software Engineering
A Formalization of Powerlist Algebra in ACL2
Journal of Automated Reasoning
Formalization of a parameterized parallel adder within the coq theorem prover
IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems
Formal proof for a general architecture of hybrid prefix/carry-select adders
ICA3PP'10 Proceedings of the 10th international conference on Algorithms and Architectures for Parallel Processing - Volume Part I
Coverset induction with partiality and subsorts: a powerlist case study
ITP'10 Proceedings of the First international conference on Interactive Theorem Proving
Mathematical and Computer Modelling: An International Journal
Hi-index | 0.00 |
A methodology for mechanically verifying generic adder circuits isproposed using the rewrite-rule based theorem prover {\it Rewrite\ Rule\ Laboratory} ({\it RRL}). Proofs of properties of adder circuitdescriptions are done byrewriting and induction. Carry lookahead adder circuit isdescribed using {\it powerlists}, a data structure introducedby Misra to support {\it divide-and-conquer} strategy used fordesigning data-parallel algorithms. This description uses analgorithm for {\it parallel\ prefix} computation on powerlists due toAdams. Reasoning about properties of this algorithm can be ofindependent interest since parallel prefix operator has beenfound useful in many data-parallel algorithms. The correctnessof the carry-lookahead adder (i.e., the adder indeed implementsaddition on numbers) is established by showing its equivalence toa recursive description of the ripple-carry adder, which is shown tocorrectly implement addition on natural numbers. The ripple carryadder circuit is described in two different but equivalent ways:using powerlists employing the divide-and-conquer strategy, as well as usinglinear lists employing the linear decomposition strategy. The description ofthe ripple carry adder using powerlists is useful for showingequivalence of its input-output behavior to that of carrylookahead adder, whereas the description using linear lists isuseful for showing its correctness with respect to addition onnatural numbers. Descriptions of adder circuits usingpowerlists are based on Adams‘ work who also gave a hand proof oftheir correctness using the powerlist algebra. The emphasis in thispaper is to {\it generate\ proofs\ mechanically\ by\ a\ theorem\ prover}. {\em RRL} exploits the algebraic laws of the powerlistalgebra as rewrite rules, and uses heuristics for mechanizingproofs by induction using the cover set method to generate suchproofs. The regularity in hardware circuits gets reflected incompact descriptions generated using the divide-and-conquerstrategy as well as in mechanically generated proofs byinduction. Mechanical proofs generated by {\em RRL} closelyfollow the well-crafted hand-proofs which is quite encouraging. Acomparison with Adams‘ hand generated proof is also made. Thereis strong evidence that the proposed methodology for generatingproofs should scale up for large circuits exhibiting regularitythat can be described using divide-and-conquer strategy in termsof powerlists.