70 likes | 181 Vues
This analysis explores the trajectory of Automated Theorem Proving (ATP) technology since the late 1980s, highlighting advances in propositional satisfiability (SAT) and equivalence checking algorithms. Despite significant progress in SAT techniques enabling efficient "push-button" solutions for specific tasks, challenges remain, particularly for arbitrary-sized registers requiring human intervention. Notable initiatives, such as SMT solvers and modularization efforts, signal promising developments in the ATP arena. The engaged user community and evolving methodologies suggest a positive future for ATP technology.
E N D
Thoughts on the Future of ATP Wilfred J. Legato NSA
Historical Developments • Automated Theorem Proving (ATP) technology has not advanced significantly since the late 1980’s. • There has been remarkable advances in propositional satisfiability (SAT) and equivalence checking (OBDD) algorithms over the past 10 years. • SAT and OBDD technology have enabled “push button” approaches to ATP.
Measuring Progress • Legato challenge 10 line multiply program- 1990: J Moore, 2 days using Nqthm- 2001: Matt Wilding, 15 hours using Vfaat- 2002: Robert Krug, 17 hours using ACL2 arithmetic3 proof library- 2005: Sandip Ray, 4 hours using J Moore’s inductive assertion method- 2007: Robert Boyer and Warren Hunt, 3 seconds using “g-functions” in ACL2
A Clarification • The push button solution to the 10 line multiply program only works for small size registers. • The previous 4 proofs work for arbitrary size registers, but require human guidance. • They also require development of a good modular arithmetic proof library.
Some Glimmers of Hope • Bob Boyer and Warren Hunt’s “g-functions” within ACL2 (push button at the bottom) • The advent of SMT solvers (push button at the top) • Modularization of ACL2 (an environment supporting experimentation with new ATP algorithms)
More Glimmers of Hope • Doug Smith’s work with SATware and proposed work on ATPware (a KIDS like treatment of the construction of SAT solvers and automated theorem provers) • Movement of the user community towards greater acceptance of ATP technology (success breeds success). • Finally, work on the “tool bus” concept emerging from the “Grand Challenge” (the right tool for the right job)
The Broader Environment • Theorems evolve from a broader environment- Floyd-Hoare (shallow embedment) - Interpreters (deep embedment) - Inductive Assertions (best of both) - Weakest Preconditions (greater flexibility) - The Logic as a Programming Language - Correct by Construction - Propositional Satisfiability (SMT, Predicate Abstraction, Model Checking)