Automatic Differentiation in ACL2
نویسندگان
چکیده
In this paper, we describe recent improvements to the theory of differentiation that is formalized in ACL2(r). First, we show how the normal rules for the differentiation of composite functions can be introduced in ACL2(r). More important, we show how the application of these rules can be largely automated, so that ACL2(r) can automatically define the derivative of a function that is built from functions whose derivatives are already known. Second, we show a formalization in ACL2(r) of the derivatives of familiar functions from calculus, such as the exponential, logarithmic, power, and trigonometric functions. These results serve as the starting point for the automatic differentiation tool described above. Third, we describe how users can add new functions and their derivatives, to improve the capabilities of the automatic differentiator. In particular, we show how to introduce the derivative of the hyperbolic trigonometric functions. Finally, we give some brief highlights concerning the implementation details of the automatic differentiator.
منابع مشابه
Implementing an Automatic Differentiator in ACL2
The foundational theory of differentiation was developed as part of the original release of ACL2(r). In work reported at the last ACL2 Workshop, we presented theorems justifying the usual differentiation rules, including the chain rule and the derivative of inverse functions. However, the process of applying these theorems to formalize the derivative of a particular function is completely manua...
متن کاملFormal Compiler Verification with ACL2 BAKKALAUREATSARBEIT
This paper gives a short introduction to ACL2, a Lisp-like language used to make automatic proofs. ACL2 is used to prove the correctness of a compiler at source level. However it is shown that source level verification is not enough to be sure to have a correct compiler. Even if a compiler is correct at source level and passes the bootstrap test, it may be incorrect and produce wrong or even ha...
متن کاملPythia: Automatic Generation of Counterexamples for ACL2 using Alloy
A key research problem in automated theorem proving is generating examples and counterexamples to guide the discovery of proofs. We present Pythia, a framework that connects ACL2 with the SAT-based Alloy Analyzer, a tool for solving formulas in first-order logic with transitive closure using bounded exhaustive checking. Pythia takes as inputs an Alloy model of the ACL2 type system together with...
متن کاملIndustrial hardware and software verification with ACL2.
The ACL2 theorem prover has seen sustained industrial use since the mid-1990s. Companies that have used ACL2 regularly include AMD, Centaur Technology, IBM, Intel, Kestrel Institute, Motorola/Freescale, Oracle and Rockwell Collins. This paper introduces ACL2 and focuses on how and why ACL2 is used in industry. ACL2 is well-suited to its industrial application to numerous software and hardware s...
متن کاملInteractive Termination Proofs Using Termination Cores
Recent advances in termination analysis have yielded new methods and tools that are highly automatic. However, when they fail, even experts have difficulty understanding why and determining how to proceed. In this paper, we address the issue of building termination analysis engines that are both highly automatic and easy to use in an interactive setting. We consider the problem in the context o...
متن کامل