Efficient execution in an automated reasoning environment
David Greve, Matt Kaufmann, Panagiotis Manolios, J Strother Moore, Sandip Kumar Ray, José–Luis Ruiz–Reina, Rob Sumners, Daron Vroon, Matthew Wilding · Journal of Functional Programming · 2007
Abstract We describe a method that permits the user of a mechanized mathematical logic to write elegant logical definitions while allowing sound and efficient execution. In particular, the features supporting this method allow the user to install, in a logically sound way, alternative executable counterparts for logically defined functions. These alternatives are often much more efficient than the logically equivalent terms they replace. These features have been implemented in the ACL2 theorem prover, and we discuss several applications of the features in ACL2.