Implementing mathematics with the Nuprl proof development system
Implementing mathematics with the Nuprl proof development system
Parallel program design: a foundation
Parallel program design: a foundation
Introduction to algorithms
Algorithms for finding patterns in strings
Handbook of theoretical computer science (vol. A)
The temporal logic of reactive and concurrent systems
The temporal logic of reactive and concurrent systems
Introduction to HOL: a theorem proving environment for higher order logic
Introduction to HOL: a theorem proving environment for higher order logic
Formal Methods in System Design
A taxonomy of sublinear multiple keyword pattern matching algorithms
Science of Computer Programming
Algorithms on strings, trees, and sequences: computer science and computational biology
Algorithms on strings, trees, and sequences: computer science and computational biology
A fast string searching algorithm
Communications of the ACM
Computer Algorithms: Introduction to Design and Analysis
Computer Algorithms: Introduction to Design and Analysis
Computer-Aided Reasoning: An Approach
Computer-Aided Reasoning: An Approach
Correctness of substring-preprocessing in Boyer-Moore's pattern matching algorithm
Theoretical Computer Science
Protocol Verification in Nuprl
CAV '98 Proceedings of the 10th International Conference on Computer Aided Verification
Automated Correctness Proofs of Machine Code Programs for a Commercial Microprocessor
CADE-11 Proceedings of the 11th International Conference on Automated Deduction: Automated Deduction
Mechanization of a Proof of String-Preprocessing in Boyer-Moore's Pattern Matching Algorithm
ICECCS '02 Proceedings of the Eighth International Conference on Engineering of Complex Computer Systems
Hi-index | 0.00 |
We report on mechanization of a correctness proof of a string-preprocessing algorithm. This preprocessing algorithm is employed in Boyer-Moore's pattern matching algorithm. The mechanization is carried out using the PVS system. The correctness proof being mechanized has been formulated in Linear Time Temporal Logic. It consists of fourteen lemmata which are related to safety properties and two additional lemmata dealing with liveness properties. The entire mechanization of the safety and liveness parts has been completed. Several small errors and omissions were found in the handwritten proof and corrected. Yet, the manual correctness proof of the string-preprocessing algorithm was found to satisfy the usual mathematical validity. We conclude that the string-preprocessing algorithm in Boyer-Moore's pattern matching algorithm, corrected a number of times because of flaws, does not contain any more undiscovered errors.