F# 中 Z3 的 InvalidCastException

InvalidCastException for Z3 in F#

我尝试在 F# 中启动 Z3 求解器和 运行。所以我在 Visual Studio 中创建了一个新的 F# 项目,添加了对 Microsoft.Z3.dll 的引用,并输入了以下代码:

open Microsoft.Z3

let ctx = new Context() 
let a = ctx.MkBoolConst("a")

运行 这在交互式 window 中产生以下错误:

System.InvalidCastException: Unable to cast object of type 'Microsoft.Z3.AlgebraicNum' to type 'Microsoft.Z3.BoolExpr'.
   at Microsoft.Z3.Context.MkBoolConst(String name)
   at <StartupCode$FSI_0013>.$FSI_0013.main@() in C:\Users\...\Program.fs:line 3
Stopped due to error

我错过了什么?

这听起来很像 https://github.com/Z3Prover/z3/issues/1882

您可能必须 recompile/reinstall。按照该票证中的说明进行操作。