首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带否定的acl2等式

带否定的acl2等式
EN

Stack Overflow用户
提问于 2014-07-30 01:38:56
回答 1查看 95关注 0票数 0

我在使用acl2时遇到了一些问题,试图证明以下几点:

代码语言:javascript
复制
(thm (implies (acl2-numberp x) (equal (* -2 x) (* 2 (- x)))))

这会导致:

代码语言:javascript
复制
ACL2 !>(thm (implies (acl2-numberp x) (equal (* -2 x) (* 2 (- x)))))

*1 (the initial Goal, a key checkpoint) is pushed for proof by induction.

No induction schemes are suggested by *1. Consequently, the proof
attempt has failed.

Summary
Form: ( THM ...)
Rules: NIL
Time: 0.01 seconds (prove: 0.00, print: 0.00, other: 0.00)
Prover steps counted: 63

---
The key checkpoint goal, below, may help you to debug this failure.
See :DOC failure and see :DOC set-checkpoint-summary-limit.
---

*** Key checkpoint at the top level: ***

Goal
(IMPLIES (ACL2-NUMBERP X)
(EQUAL (* -2 X) (* 2 (- X))))

ACL2 Error in ( THM ...): See :DOC failure.

******** FAILED ********

然而,当我尝试的时候:

代码语言:javascript
复制
(thm (implies (acl2-numberp x) (equal (* -1 x) (* 1 (- x)))))

它很容易成功。有谁知道为什么会发生这种情况,以及如何修复它?

EN

回答 1

Stack Overflow用户

发布于 2014-08-20 02:53:11

通常,人们希望ACL2能够“开箱即用”地推断所有事情。在实践中,我们这些使用ACL2的人通常会包含相关的库。在本例中,我将使用“算术/top”库。

代码语言:javascript
复制
ACL2 !>(include-book "arithmetic/top" :dir :system)

Summary
Form:  ( INCLUDE-BOOK "arithmetic/top" ...)
<snip>
ACL2 !>(thm (implies (acl2-numberp x) (equal (* -2 x) (* 2 (- x)))))

Q.E.D.

Summary
Form:  ( THM ...)
Rules: ((:EXECUTABLE-COUNTERPART IF)
        (:REWRITE FUNCTIONAL-COMMUTATIVITY-OF-MINUS-*-LEFT)
        (:REWRITE FUNCTIONAL-COMMUTATIVITY-OF-MINUS-*-RIGHT))
Time:  0.00 seconds (prove: 0.00, print: 0.00, other: 0.00)
Prover steps counted:  23

Proof succeeded.
ACL2 !>

回答您关于“为什么”的问题,是因为ACL2内置了规范化"(* -1 ..)“的规则。而不是"(* -2...)“

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25021626

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档