1
저는 Z3을 처음 사용합니다. 질문이 너무 쉽다면 실례합니다. 나는 Z3 Java API에서 상수를 회피하는 두 가지 질문을 가지고있다.Z3 Java API의 심볼 생성
- 내부적으로 상수 생성이 어떻게 발생합니까? 나는 결국`INTERNALmkStringSymbol가 '나는 소스를 볼 수 없습니다 기본이기 때문에 지금이 라인
long var3 = INTERNALmkStringSymbol(var0, var2);
에 var3
에서 변수를 생성 Native.mkStringSymbol(var1.nCtx(), var2)
를 호출 public StringSymbol mkSymbol(String)
아래로 public BitVecExpr mkBVConst(String, int)
를 추적하여 시작 것을 이해합니다. 나는 그것이 어떻게 작동하는지 궁금해. 아무도 그것이 어떻게 작동 하는지를 압니까? 어디에서 소스를 볼 수 있습니까?
- 또 다른 혼란스러운 점은 API를 사용하는 상수의 범위 지정입니다. 대화식 Z3에서는 일치하는 푸시 및 팝을 통해 유지되지만 API를 통해 범위 지정이 정의되고 관리되는 방법을 잘 모르겠습니다.
모든 통찰력이나 지도력을 바랍니다.
감사합니다. @Nikola, 이것은 정말로 도움이됩니다. 그러나 두 번째 요점은 상수가 아닌 제약에 대한 범위 지정에 대해 이야기하는 것입니다. 상수가 글로벌이라는 것을 의미합니까? 다시 한 번 감사드립니다! – Inquirer