Z3은 종종 중간 기능 묶음으로 정의 된 백 모델을 제공합니다. 그래서Z3에서 완전히 평가 된 결과?
(define-const myArray (Array Bool Int) (_ as-array f))
(define-fun f (x Bool) Int (f!10 (k!26 x)))
... 그리고 예를 들어, 그것은 (내 잘못된 구문을 용서) 다음을 참조하는 것이 일반적이다.
라이브러리 바인딩을 사용하여 Z3을 호출하여 결과를 얻고 결과를 출력하고 실제로 실행할 수있는 함수로 구문 분석 할 수있는 결과를 얻고 싶습니다. 서로 모델을 정의하지 않고 실행할 수있는 단일, 직선 프로그램으로 모델 기능을 구현할 수 있다면 훨씬 쉽습니다.
이것이 가능합니까? 그게 도움이된다면 유한 한 도메인 함수 만 다루고 있습니다.
아마도'eval' 함수가 도움이 될까요? (SMT-LIB 버전의 경우이 페이지에서 "eval"을 검색하십시오 : https://rise4fun.com/z3/tutorialcontent/guide. python 버전의 경우이 페이지에서 "eval"을 검색하십시오. https : // z3prover .github.io/api/html/z3.html) –
@JamesWilcox 감사합니다. 존재하지 않는다는 것을 알고있었습니다. – jmite