(get-assignment) 명령은 Bool 일 경우 심볼 목록과 true/false 값을 반환해야합니다. 필자의 이해에 따르면, 다음과 같은 경우에만 수행 할 수 있습니다. produce-assignments가 true로 설정되고 (check-sat)가 sat 인 경우. 그러나, Z3에서 이것을 테스트하기 위해 작은 스크립트를 실행하면 (get-assignment) 그냥 공백을 반환합니다 (공백).Z3의 Get-assignment
(set-option :produce-assignments true)
(set-logic QF_UF)
(declare-fun a() Bool)
(declare-fun b() Bool)
(assert (= a b))
(check-sat)
(get-assignment)
을, 나는 Z3 [버전 4.3.2에 대한이 동작을 확인할 수 있습니다 해시 코드 96f4606a7f2d]. 흥미롭게도'(set-option : produce-models true)'를 프리앰블에 넣고'(check-sat)'다음에'(get-value (ab)) '를두면'(거짓) (b 거짓) '이므로 할당이 가능할 것 같습니다 (http://rise4fun.com/Z3/zGH7 참조). '(get-assignment)'이 지원되지 않는 것처럼 보이고, 사용하는 것처럼 오류를 발생시키지 않습니다. –