Support for “Trusted” Extension in ACL2
J Strother Moore
(joint work with Matt Kaufmann)
Department of Computer Sciences University of Texas at Austin
August, 2010
1
Support for Trusted Extension in ACL2 J Strother Moore (joint work - - PowerPoint PPT Presentation
Support for Trusted Extension in ACL2 J Strother Moore (joint work with Matt Kaufmann) Department of Computer Sciences University of Texas at Austin August, 2010 1 A C omputational L ogic for A pplicative C ommon L isp = ACL2 a
(joint work with Matt Kaufmann)
Department of Computer Sciences University of Texas at Austin
August, 2010
1
2
3
4
5
6
7
8
9
· DEFUN - intro new rec fns; conservative · DEFCHOOSE (basis for DEFUN-SK) - witness fns; conservative · DEFAXIOM - risky; rarely used
· PROGN - grouping · LOCAL - scoping · INCLUDE-BOOK - import pre-certified events · ENCAPSULATE - intro constrained un-interp fns
10
· DEFUN - intro new rec fns; conservative · DEFCHOOSE (basis for DEFUN-SK) - witness fns; conservative · DEFAXIOM - risky; rarely used
· PROGN - grouping · LOCAL - scoping · INCLUDE-BOOK - import pre-certified events · ENCAPSULATE - intro constrained un-interp fns
11
12
Irrelevance Equality Destructor Elimination User Generalization Induction Simplification pool Elimination of
formula
13
Irrelevance User Equality Destructor Elimination Generalization Induction Elimination of
congruence−based rewriting evaluation propositional calculus BDDs equality uninterpreted function symbols rational linear arithmetic rewrite rules recursive definitions back− and forward−chaining metafunctions
Simplification
14
key lemma proof axiom theorem rule of inference main theorem
15
Q.E.D.
database composed theorems, and advice User proofs
Memory Gates Arith Vectors
prover proposed definitions conjectures and advice theorem
16
Q.E.D.
database composed theorems, and advice User proofs
Memory Gates Arith Vectors
prover proposed definitions conjectures and advice theorem
17
Q.E.D.
database composed theorems, and advice User proofs
Memory Gates Arith Vectors
prover proposed definitions conjectures and advice theorem
18
Q.E.D. theorems, and advice
database composed User proofs
Memory Gates Arith Vectors
prover proposed definitions conjectures and advice theorem
19
Irrelevance Equality Destructor Elimination User Generalization Induction Simplification pool Elimination of
formula
20
· Rewriting (conditional, contextual, congruence-based) · Metafunctions and Verified Clause-Processors · Pragmas -- syntaxp, bind-free, force, case-split, double-rewrite
· · ·
· · ·
21
· Rewriting (conditional, contextual, congruence-based) · Metafunctions and Verified Clause-Processors · Pragmas -- syntaxp, bind-free, force, case-split, double-rewrite
· · ·
· · ·
22
· Rewriting (conditional, contextual, congruence-based) · Metafunctions and Verified Clause-Processors · Pragmas -- syntaxp, bind-free, force, case-split, double-rewrite
· · ·
· · ·
23
Irrelevance Equality Destructor Elimination User Generalization Induction Simplification pool Elimination of
formula
24
25
Matt Kaufmann, J S. Moore, Sandip Ray, and Erik Reeber. Integrating External Deduction Tools with ACL2. Journal of Applied Logic (Special Issue: Empirically Successful Computerized Reasoning), Volume 7, Issue 1, March 2009, pp. 3–25. Also published online (DOI 10.1016/j.jal.2007.07.002).
26
· Rewriting (conditional, contextual, congruence-based) · Metafunctions and Verified Clause-Processors · Pragmas -- syntaxp, bind-free, force, case-split, double-rewrite
· · ·
· · ·
27
· Rewriting (conditional, contextual, congruence-based) · Metafunctions and Verified Clause-Processors · Pragmas -- syntaxp, bind-free, force, case-split, double-rewrite
· · ·
· · ·
28
29
· Rewriting (conditional, contextual, congruence-based) · Metafunctions and Verified Clause-Processors
· · ·
· · ·
30
· Rewriting (conditional, contextual, congruence-based) · Metafunctions and Verified Clause-Processors
· Hash-cons, memoization, applicative hash tables · ACL2(r) · Parallel ACL2
31
· Rewriting (conditional, contextual, congruence-based) · Metafunctions and Verified Clause-Processors
· · ·
· · ·
32
· Rewriting (conditional, contextual, congruence-based) · Metafunctions and Verified Clause-Processors
· · ·
33
· Rewriting (conditional, contextual, congruence-based) · Metafunctions and Verified Clause-Processors
· · ·
· · ·
34
35