AICon 上海站|日程100%上线,解锁Al未来! 了解详情
写点什么

LINQ to Z3,世界上最快的定理证明程序

  • 2010-12-01
  • 本文字数:535 字

    阅读完需:约 2 分钟

微软研究院宣称,Z3 是世界上最快的定理证明程序。Z3 被设计作为其他应用程序的底层工具,它不适合单独使用。而嵌入到定理证明程序中的时候,在大量的项目中都有应用,包括 Spec#/Boogie Pex Yogi Vigilante SLAM F7 SAGE VS3 FORMULA HAVOC

通过使用 Z3 的.NET 的 API,你可以使用面向对象的风格来编码定理。不过,在 Z3 练习指导中演示的一个非常小的问题,都用到了非常多的代码。Bart De Smet 编写了名为 LINQ to Z3 的包装器,把 OO 风格的 API 包装为查询风格的 API,极大地简化了 Z3 的使用。下面是 Bart De Smet 在做 Channel 9 访谈的时候演示的一个例子:

复制代码
var theorem = from t in ctx.NewTheorem<Symbols<int, int, int, int, int>>()
where t.X1 - t.X2 >= 1
where t.X1 - t.X2 <= 3
where t.X1 == (2 * t.X3) + t.X5
where t.X3 == t.X5
where t.X2 == 6 * t.X4
select t;
var solution = theorem.Solve();
Console.WriteLine("X1 = {0}, X2 = {1}, X3 = {2}, X4 = {3}, X5 = {4}",

Z3 起初只提供了 Windows 平台的支持,不过现在也有 Linux 的版本。Z3 基于“微软研究院许可协议”发布,不能用于商业目的。你可以通过 Z3 on RiSE4Fun 来尝试一下在线版本。

查看英文原文: LINQ to Z3, The World’s Fasted Theorem Prover

2010-12-01 02:143909
用户头像

发布了 254 篇内容, 共 62.7 次阅读, 收获喜欢 2 次。

关注

评论

发布
暂无评论
发现更多内容

总结-02-设计模式

梦子说

学习 极客大学架构师训练营

MySQL-InnoDB 索引

Axe

第三周总结

孙强

单例模式的实现方式

互金从业者X

作业03-代码重构

梦子说

极客大学架构师训练营 命题作业

新来的"大神"用策略模式把if else给"优化"了,技术总监说:能不能想好了再改?

Hollis

Java 设计模式

架构师训练营 Week03 学习心得

第三周作业一

证明谁才是第一

单例模式 组合模式

作业-02

梦子说

极客大学架构师训练营 作业

架构师训练营第三周作业

王铭铭

极客大学架构师训练营

架构师训练营第三周命题作业

whiter

极客大学架构师训练营

架构训练营 0 期总结 -- 第三周

互金从业者X

架构师训练营第三周作业

sunnywhy

学习总结 -- Week 3

吴炳华

极客大学架构师训练营

summary of week3

东哥

架构师训练营 - 设计模式

Pontus

极客大学架构师训练营

架构师训练营第三周总结

sunnywhy

数字化转型必读书单

华章IT

数据中台 中台 数字化转型 行业资讯 银行数字化转型

架构师训练营第三周作业

时来运转

设计模式的应用

证明谁才是第一

总结

极客时间架构师训练营 - week3 - 作业 1

jjn0703

极客时间 极客大学架构师训练营

代码重构

dongge

手握美团offer,结果背调红灯,哭了,网友:别小瞧背调公司

程序员生活志

面试 美团 offer 背调

架构师训练营第三周总结

王铭铭

你不知道的 Web Workers (上)

阿宝哥

Java 大前端 Web Web Worker

只看到了别人28岁从字节跳动退休,背后的期权知识你知道吗?

四猿外

创业 程序员 字节跳动 个人成长 期权

架构师训练营第三周总结

allen

第三周作业

孙强

架构师训练营 - 设计模式

Pontus

极客大学架构师训练营

架构师训练营 - 学习总结 - 第三讲

吕浩

架构师训练营第 3 周作业

Season

单例模式 极客大学架构师训练营 组合模式

LINQ to Z3,世界上最快的定理证明程序_.NET_Jonathan Allen_InfoQ精选文章