Automatically computing functional instantiations

  • Authors:
  • J. Strother Moore

  • Affiliations:
  • University of Texas at Austin, Austin, TX

  • Venue:
  • Proceedings of the Eighth International Workshop on the ACL2 Theorem Prover and its Applications
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

Among the standard books distributed with ACL2 is the consider-hint book in the hints subdirectory, which implements a heuristic for computing functional instantiations. The implementation of the hint involves four basic algorithms: a second-order pattern matching algorithm that can compute instantiations for constrained and defined functions that call constrained functions, a process for generating variants of a term obtained by applying equations, a process for extending second-order matching through definitions so that when instantiating defined functions the algorithm can pick up appropriate bindings for the constrained functions inside the definitions, and an algorithm for sorting among likely functional substitutions. The second-order matching algorithm is an incomplete and slightly extended implementation of the Huet-Lang algorithm. We describe the four basic algorithms involved in guessing functional instantiations. We briefly suggest further work required to make the utility robust and suggest a new feature that could be added to ACL2 if this utility were sufficiently robust. We hope that some enterprising user or student will take up these challenges.