Z3 用于访问MuZ的.Net API

Z3 用于访问MuZ的.Net API,z3,Z3,rise4fun的教程提到了用于访问MuZ的.NETAPI。但是,单击所提到的任何方法,例如添加规则,调用:Z3_datalog_add_rule会导致死链接。这些方法在何处描述?它们当前是否受支持 另外,与这个问题没有直接关系,但我注意到,可能使用SMT-LIB API的示例使用了define fun命令。在.Net API中是否有可用的等效函数 感谢您报告断开的链接 链接: http://rise4fun.com/Z3/tutorialcontent/group__capi.html#ga0

rise4fun的教程提到了用于访问MuZ的.NETAPI。但是,单击所提到的任何方法,例如
添加规则,调用:Z3_datalog_add_rule
会导致死链接。这些方法在何处描述?它们当前是否受支持

另外,与这个问题没有直接关系,但我注意到,可能使用SMT-LIB API的示例使用了
define fun
命令。在.Net API中是否有可用的等效函数


感谢您报告断开的链接

链接:

http://rise4fun.com/Z3/tutorialcontent/group__capi.html#ga0d158891352456e6a4ac9ba398a75653
应该指出:

 http://research.microsoft.com/en-us/um/redmond/projects/z3/group__capi.html 
与.NET API函数对应的链接为:

 http://research.microsoft.com/en-us/um/redmond/projects/z3/class_microsoft_1_1_z3_1_1_context.html
请注意,在Z3的最新版本中, 与rise4fun中使用的版本相比,.NETAPI经历了重大修订。 上面的链接描述了最新的.NET API。 指向Z3以前版本中使用的“legacy”.NET API的链接为:

http://research.microsoft.com/en-us/um/redmond/projects/z3/old/group__mapi.html
这些链接收集于:

最新版本的.NET API中的declare函数称为“MkFuncDecl”。它是上下文对象上的方法。它有几个重载:

 FuncDecl  MkFuncDecl (Symbol name, Sort[] domain, Sort range) 
 FuncDecl  MkFuncDecl (Symbol name, Sort domain, Sort range) 
 FuncDecl  MkFuncDecl (string name, Sort[] domain, Sort range) 
 FuncDecl  MkFuncDecl (string name, Sort domain, Sort range) 

上面提到的第二个链接将带您访问这些功能的文档。

感谢您的及时回复。您提供的链接似乎指向C API。我估计下面的代码应该可以做到这一点(来自F#):let testMuZ()=let ctx=new Context()let fp=new Fixedpoint(ctx),感谢您的及时响应。您提供的链接似乎指向C API。根据其他Z3方法的外观,我认为下面的代码应该可以做到这一点(在F#中):let testMuZ()=let ctx=new Context()let fp=new Fixedpoint(ctx)。。。但是,这给了我一个编译器错误测试。fs(134,12):错误FS0509:未找到方法或对象构造函数“Fixedpoint”,我在源代码(我没有构建)中进行了检查,并且Fixedpoint.cs类存在于源代码中。然而,编译器似乎不认为它包含在DLLRegarding MkFuncDecl中,我知道这个方法。然而,rise4fun(可能是旧api?)的示例确实
(定义了fun-odd((x Int))Bool((mod x 2)1))
,我认为在新api中可能可以访问类似的内容。与使用量化约束相比,这几乎是一个小小的方便。您好,我在跟进,因为我没有听到任何关于这方面的消息:您能给我指一个链接,指向FixedPoint类的.Net API的位置吗?我从C API推断.Net方法的尝试并不十分成功:-(