Certified Programming with Dependent Types: A Pragmatic Introduction to the Coq Proof Assistant

Certified Programming with Dependent Types: A Pragmatic Introduction to the Coq Proof Assistant

简介:

机械化程序验证技术可以在计算机科学的许多研究项目中发挥支持作用,并且用于形式证明检查的相关工具正在数学和工程中得到越来越多的采用。本书介绍了用于编写和检查数学证明的Coq软件。它始终以实际工程为重点,强调有助于用户构建、理解和维护大型Coq开发的技术,并最大限度地减少代码随时间变化的成本。在其他地方很少讨论的两个主题被详细介绍: 有效的依赖类型编程 (有效地利用Coq系统核心的功能) 和特定领域证明策略的构建。几乎所涵盖的每个主题都与一般的交互式计算机定理证明有关,而不仅仅是程序验证,通过在许多不同类型的形式化中应用的验证程序的示例来证明。本书开发了一种独特的自动证明风格并将其应用于整个过程; 即使是经验丰富的Coq用户也可以从这个新颖的角度阅读基本的Coq概念。这本书还提供了一个战术库,或查找证明的程序,旨在与书中的示例一起使用。读者将获得必要的技能,在本书结束时在其他环境中重新实施这些策略。书中出现的所有代码都可以在线免费获得。

英文简介:

The technology of mechanized program verification can play a supporting role in many kinds of research projects in computer science, and related tools for formal proof-checking are seeing increasing adoption in mathematics and engineering.

This book provides an introduction to the Coq software for writing and checking mathematical proofs. It takes a practical engineering focus throughout, emphasizing techniques that will help users to build, understand, and maintain large Coq developments and minimize the cost of code change over time.

Two topics, rarely discussed elsewhere, are covered in detail: effective dependently typed programming (making productive use of a feature at the heart of the Coq system) and construction of domain-specific proof tactics. Almost every subject covered is also relevant to interactive computer theorem proving in general, not just program verification, demonstrated through examples of verified programs applied in many different sorts of formalizations.

The book develops a unique automated proof style and applies it throughout; even experienced Coq users may benefit from reading about basic Coq concepts from this novel perspective. The book also offers a library of tactics, or programs that find proofs, designed for use with examples in the book. Readers will acquire the necessary skills to reimplement these tactics in other settings by the end of the book. All of the code appearing in the book is freely available online.

书名
Certified Programming with Dependent Types: A Pragmatic Introduction to the Coq Proof Assistant
译名
依赖类型认证编程:Coq 证明助手的实用介绍
语言
英语
年份
2019
页数
369页
大小
1.74 MB
下载
pdf iconCertified Programming with Dependent Types: A Pragmatic Introduction to the Coq Proof Assistant.pdf
密码
65536

最后更新:2025-04-12 23:54:38

←Applied Mathematical Programming Using Algebraic Systems

→Patterns: Integrating WebSphere ILOG JRules with IBM Software