Function memoization and unique object representation for ACL2 functions

  • Authors:
  • Robert S. Boyer;Warren A. Hunt, Jr.

  • Affiliations:
  • The University of Texas, Austin, Texas;The University of Texas, Austin, Texas

  • Venue:
  • ACL2 '06 Proceedings of the sixth international workshop on the ACL2 theorem prover and its applications
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

We have developed an extension of ACL2 that includes the implementation of hash-based association lists and function memoization; this makes some algorithms execute more quickly. This extension, enabled partially by the implementation of Hash-CONS, represents ACL2 data objects in a canonical way, thus the comparison of any two such objects can be determined without the cost of descending through their CONS structures. A restricted set of ACL2 user-defined functions may be memoized; the underlying implementation may conditionally retain the values of such function calls so that if a repeated function application is requested, a previously computed value may instead be returned. We have defined a fast association list access and update functions using hash tables. We provide a file reader that identifies and eliminates duplicate representations of repeated objects, and a file printer that produces output with no duplicate subexpressions.