Double Rewriting for Equivalential Reasoning in ACL2
Matt Kaufmann and J Strother Moore ACL2 Workshop, FLoC, Seattle, August 16, 2006
1
Double Rewriting for Equivalential Reasoning in ACL2 Matt Kaufmann - - PowerPoint PPT Presentation
Double Rewriting for Equivalential Reasoning in ACL2 Matt Kaufmann and J Strother Moore ACL2 Workshop, FLoC, Seattle, August 16, 2006 1 Introduction ACL2 provides a powerful congruence-based rewriting capability. However, some have
Matt Kaufmann and J Strother Moore ACL2 Workshop, FLoC, Seattle, August 16, 2006
1
◮ ACL2 provides a powerful congruence-based rewriting
◮ However, some have encountered an issue in using this
◮ In this talk we describe that issue and a partial solution
◮ Above, we say “partial” because the solution requires
2
◮ ACL2 provides a powerful congruence-based rewriting
◮ However, some have encountered an issue in using this
◮ In this talk we describe that issue and a partial solution
◮ Above, we say “partial” because the solution requires
3
◮ ACL2 provides a powerful congruence-based rewriting
◮ However, some have encountered an issue in using this
◮ In this talk we describe that issue and a partial solution
◮ Above, we say “partial” because the solution requires
4
◮ ACL2 provides a powerful congruence-based rewriting
◮ However, some have encountered an issue in using this
◮ In this talk we describe that issue and a partial solution
◮ Above, we say “partial” because the solution requires
5
◮ Introduction ◮ Review of congruence-based rewriting in ACL2 ◮ The problem with caching ◮ A partial solution ◮ Warning messages ◮ Conclusion and a plea for help
6
◮ a term, α; ◮ a substitution, σ; ◮ an equivalence relation, equiv; and ◮ some assumptions, γ
◮ (implies
7
◮ a term, α; ◮ a substitution, σ; ◮ an equivalence relation, equiv; and ◮ some assumptions, γ
◮ (implies
8
◮ a term, α; ◮ a substitution, σ; ◮ an equivalence relation, equiv; and ◮ some assumptions, γ
◮ (implies
9
10
11
12
13
14
ACL2 Warning [Double-rewrite] in ( DEFTHM PRED-IMPLIES-F ...): In a :REWRITE rule generated from PRED-IMPLIES-F, equivalence relation EQUIV is maintained at one problematic occurrence of variable X in the first hypothesis, but not at any binding occurrence of X. Consider replacing that
(DOUBLE-REWRITE X). See :doc double-rewrite for more information on this issue.
15
◮ Manual insertion of double-rewrite can avoid failures
◮ NOTE: We automate double rewriting (since Version 2.9,
◮ CURRENT ADVICE: Insert double-rewrite when there
◮ CHALLENGE: Find heuristics for when to insert
16
◮ Manual insertion of double-rewrite can avoid failures
◮ NOTE: We automate double rewriting (since Version 2.9,
◮ CURRENT ADVICE: Insert double-rewrite when there
◮ CHALLENGE: Find heuristics for when to insert
17
◮ Manual insertion of double-rewrite can avoid failures
◮ NOTE: We automate double rewriting (since Version 2.9,
◮ CURRENT ADVICE: Insert double-rewrite when there
◮ CHALLENGE: Find heuristics for when to insert
18
◮ Manual insertion of double-rewrite can avoid failures
◮ NOTE: We automate double rewriting (since Version 2.9,
◮ CURRENT ADVICE: Insert double-rewrite when there
◮ CHALLENGE: Find heuristics for when to insert
19