Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Z3 群论中一个一般定理的有界归纳证明_Z3 - Fatal编程技术网

Z3 群论中一个一般定理的有界归纳证明

Z3 群论中一个一般定理的有界归纳证明,z3,Z3,我试图通过归纳法证明: 给定一个群G,然后求所有(x,y,z)/((y^n)x(z^n)=x)=>(阶数(G)=n) 我使用有界归纳法和以下代码 ;; Derive order n from a single axiom for groups order n. ;; ((Y^n)X(Z^n) = X )=> (order(G) = n) for 1 < n < 23 (declare-sort S) (declare-fun e () S) (declare-fun mult

我试图通过归纳法证明:

给定一个群G,然后求所有(x,y,z)/((y^n)x(z^n)=x)=>(阶数(G)=n)

我使用有界归纳法和以下代码

;; Derive order n from a single axiom for groups order n.
;; ((Y^n)X(Z^n) = X )=> (order(G) = n) for 1 < n < 23
(declare-sort S)
(declare-fun e () S)
(declare-fun mult (S S) S)
(declare-fun power (S Int) S)
(assert (forall ((x S)) (= e (power x 0))))
(assert (forall ((x S)) (= x (power x 1))))
(assert (forall ((n Int) (x S))
      (=> (and (>= n 2) (<= n 22))
          (= (power x n) (mult x (power x (- n 1)))))))
(assert (= (mult e e)  e))      
(check-sat)
(define-fun p ((x S) (y S) (z S) (w S) (n Int)) Bool
          (=>   (= (mult (power y n) (mult x (power z n)))
             x) (= (power w n) e) )   )
(assert (forall ((x S) (y S) (z S) (w S)) (p x y z w 2)))
(assert (forall ((x S) (y S) (z S) (w S) (n Int))
      (=> (and (> n 2) (<= n 22))
          (= (p x y z w n) (p x y z w (- n 1))))))

;; Bounded inductive proof.
(assert (not (forall ((x S) (y S) (z S) (w S)) (p x y z w 22))))
(check-sat)
联机运行此代码

我正在证明2 问题是:如何在这个证明中超越n=22?

使用莱昂纳多·德莫拉(Leonardo de Moura)建议的
(设置选项:qi-eager阈值70000)
,Z3能够证明定理,直到n=60000(本地,在线,直到n=10000)

sat 
unsat