我正在尝试使用以下Z3 SMT-LIB代码证明群论中的一个定理

 (declare-sort S)
(declare-fun identity () S)
(declare-fun product (S S S) Bool)
(declare-fun inverse (S) S)
(declare-fun multiply (S S) S)

(assert (forall ((X S)) (product identity X X) ))
(assert (forall ((X S)) (product X identity X) ))
(assert (forall ((X S)) (product (inverse X) X identity) ))
(assert (forall ((X S)) (product X (inverse X) identity) ))
(assert (forall ((X S) (Y S)) (product X Y (multiply X Y)) ))
;;(assert (forall ((X S) (Y S) (Z S) (W S)) (or (not (product X Y Z)) 
;;                                              (not (product X Y W))
;;                                              (= Z W))))


(assert (forall ((X S) (Y S) (Z S) (U S) (V S) (W S)) (or (not (product X Y U)) 
                                              (not (product Y Z V))
                                              (not (product U Z W) )
                                              (product X V W))))

(assert (forall ((X S) (Y S) (Z S) (U S) (V S) (W S)) (or (not (product X Y U)) 
                                              (not (product Y Z V))
                                              (not (product X V W) )
                                              (product U Z W))))



(check-sat)


(push)
;; File     : GRP001-1 : TPTP v6.0.0. Released v1.0.0.
;; Domain   : Group Theory
;; Problem  : X^2 = identity => commutativity
;; Version  : [MOW76] axioms.
;; English  : If the square of every element is the identity, the system
;;            is commutative.
(declare-fun a () S)
(declare-fun b () S)
(declare-fun c () S)
(assert (forall ((X S)) (product X X identity) ))
(assert (product a b c))
(assert (not (product b a c)))
(check-sat)
(pop)

请在此处在线运行此代码。

主分支Z3可以证明这样的定理,但不稳定分支不能。 请让我知道为什么。 非常感谢。

  ask by Juan Ospina translate from so

本文未有回复,本站智能推荐:

1回复

建立Z3不稳定分支时的错误

在过去的两天里,我一直在尝试构建z3不稳定分支,但不幸的是,我遇到了许多没有道理的错误。 我不知道问题出在哪里。 我有OSX 10.9。 这是错误列表 我手动检查了前2个错误,但代码似乎正常。 请帮忙 谢谢Yaco
1回复

Z3不稳定分支中不赞成使用C ++参数:logic和:timeout吗?

对于我的应用程序代码,我为求解器使用了z3参数的以下设置 更新到最新的Z#不稳定之后,我得到了C ++异常,这些异常实质上表明逻辑和超时不是有效的参数。 我没有找到任何等效的逻辑选项,因此我认为这是自动推论得出的。 但是,对于超时,有两个选项soft_timout和solver2_t
2回复

支持方形交叉的几何定理证明器

我试图自动证明/反驳一些与正方形有关的几何定理,例如“对于7个不相交的正方形的每3个集合,可以从每个集合中选择1个正方形,使得3个代表是内部不相交的?”。 我尝试使用OpenGeoProver并提出了以下对方块的描述: 这就是我被困的地方:如何定义简单的语句“square A和sq
1回复

在Z3定理证明者中设置

我有一份合金声明 然后像这样将其转换为Z3: 问题是,在第7行中,如何使函数disjSetCard返回(disj set)卡而不是一张Card。 请问我的代码正确还是有其他解决方案?
1回复

Z3定理证明:毕达哥拉斯定理(非线性算术)

因此? 我的问题发生的用例上下文 我定义了一个三角形的3个随机项。 Microsoft Z3应该输出: 约束是否满足或是否存在无效的输入值? 所有其他三角形项目的模型,其中所有变量都分配给具体值。 为了约束我需要assert三角形等式的项目 - 我想从Py
1回复

哪里可以了解c ++的z3定理证明器API?

我想学习c ++的z3 API以及如何在c ++程序中使用它们。 我试图找到一个教程,但不能。 我在哪里可以从中学到这些? 任何教程或什么? 谢谢。
1回复

Z3可能存在的错误:Z3无法证明拓扑定理

我试图用Z3证明定理中给出的一般拓扑 TPTP拓扑 我正在使用以下Z3-SMT-LIB代码来翻译此处给出的代码 相应的输出是 请在此处在线运行此示例 第一次sat是正确的; 但是第二次sat错了,一定是unsat 。 换句话说,Z3表示该定理及其取反同时成立
1回复

如何用Z3证明者检查涉及某些三角学的定理?

我正在尝试使用Z3定理Prover证明以下命题: 我到底在做什么: 我期望不安,但不为人知 。 我也知道问题集中在具有sin和cos函数的部分。 我究竟做错了什么? 可以做点什么吗? 感谢帮助!
1回复

如何在群论中对某一一般性定理作有界归纳证明

我试图通过归纳证明: 给定一个组G,则forall(x,y,z)/((y ^ n)x(z ^ n)= x)=>(Order(G)= n) 我在下面的代码中使用有限归纳法 输出是预期的: 在此处在线运行此代码 我证明2 <n <23的定理。当我尝
1回复

如何使用Z3 SMT-LIB证明D3组的定理

D3组的产品表是: 使用以下Z3 SMT-LIB代码可以获得表示形式: 在此代码中,函数f给出乘积,函数g给出反函数。 相应的输出是: 使用此表示法可以证明以下定理: 证明是: 与输出 在此处运行完整代码 问题是:有可能获得关于该定理的更优