English

Second-Order Functions and Theorems in ACL2

Logic in Computer Science 2015-09-22 v1

Abstract

SOFT ('Second-Order Functions and Theorems') is a tool to mimic second-order functions and theorems in the first-order logic of ACL2. Second-order functions are mimicked by first-order functions that reference explicitly designated uninterpreted functions that mimic function variables. First-order theorems over these second-order functions mimic second-order theorems universally quantified over function variables. Instances of second-order functions and theorems are systematically generated by replacing function variables with functions. SOFT can be used to carry out program refinement inside ACL2, by constructing a sequence of increasingly stronger second-order predicates over one or more target functions: the sequence starts with a predicate that specifies requirements for the target functions, and ends with a predicate that provides executable definitions for the target functions.

Keywords

Cite

@article{arxiv.1509.06080,
  title  = {Second-Order Functions and Theorems in ACL2},
  author = {Alessandro Coglio},
  journal= {arXiv preprint arXiv:1509.06080},
  year   = {2015}
}

Comments

In Proceedings ACL2 2015, arXiv:1509.05526

R2 v1 2026-06-22T11:01:09.355Z