배열 집합에 한정 기호를 사용하는 간단한 수식이 있습니다. Z3 (4.3.2)은 "알 수 없음"을 반환합니다.수량 한정 기호가있는 수식에 Z3을 사용하는 방법
(assert (forall ((a (Array Int Int)) (b (Array Int Int))) (=> (forall ((i Int)) (= (select a i) (select b i))) (= a b))))
(check-sat)
용장은 다음과 같습니다
(simplifier :num-exprs 12 :num-asts 185 :time 0.00 :before-memory 2.49 :after-memory 2.49)
(smt.simplifier-done)
(smt.searching)
(smt.mbqi)
(smt.simplifier-done)
(smt.searching)
(smt.simplifying-clause-set :num-deleted-clauses 1)
(smt.simplifier-done)
(smt.searching)
(smt.simplifying-clause-set :num-deleted-clauses 1)
(smt.mbqi :failed k!1)
(smt.restarting :propagations 0 :decisions 0 :conflicts 0 :restart 100 :agility 0.00)
(tactic-exception "smt tactic failed to show goal to be sat/unsat")
Z3 수식의이 종류를 허용 보인다. 내가 장황한 것에 대한 나의 불완전한 이해에서, 사용할 몇 가지 전술을 놓쳤는가? 이 공식을 해결하는 데 도움을 주시겠습니까?