Modeling Asymptotic Complexity Using ACL2
William D. Young (University of Texas at Austin)

TL;DR
This paper demonstrates how ACL2 can be used to formally verify both the correctness and asymptotic complexity of programs, exemplified by binary search, combining functional and complexity proofs.
Contribution
It introduces a method for using ACL2 to prove both functional correctness and asymptotic complexity properties of imperative programs.
Findings
Proved binary search correctness in ACL2.
Established binary search runs in O(log n) time.
Showed simultaneous functional and complexity verification.
Abstract
The theory of asymptotic complexity provides an approach to characterizing the behavior of programs in terms of bounds on the number of computational steps executed or use of computational resources. We describe work using ACL2 to prove complexity properties of programs implemented in a simple imperative programming language embedding via an operational semantics in ACL2. We simultaneously prove functional properties of a program and its complexity. We illustrate our approach by describing proofs about a binary search algorithm, proving both that it implements binary search on a sorted list and that it is O(log(n)), where n is the length of the list.
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.
