欢迎大家赞助一杯啤酒🍺 我们准备了下酒菜:Formal mathematics/Isabelle/ML, Formal verification/Coq/Agda, C++/Erlang/Lisp
Formal verification
来自开放百科 - 灰狐
![]() |
您可以在Wikipedia上了解到此条目的英文信息 Formal verification Thanks, Wikipedia. |
Proof assistant
目录 |
简介
这里指包含 Proof assistant 证明助理(证明助手) 在内的所有形式化相关主题,包含计算机辅助定理证明、Coq 证明助理、函数式编程、操作语义、用于论证软件的逻辑和技术、静态类型系统、基于性质的随机测试、以及对实践中编程代码的验证等。
在计算机科学和软件工程领域,形式化方法是使用适当的数学分析以提高设计的可靠性和强健性,适合于软件和硬件系统的描述、开发和验证。
形式验证(Formal verification)可以分为三大类:抽象解释(Abstract Interpretation)、形式模型检查(Formal Model Checking,也称作特性检查)和定理证明(Theory Prover)。
非形式化证明是算法,形式化证明是代码。
覆盖的核心概念有:
- 逻辑学中的基本工具,用于准确地提出并论证关于程序的假设,逻辑学被称之为计算机科学的微积分;
- 证明助理用于构造严谨的逻辑论据,分为两类:自动定理证明器和证明助理(如:Coq、Agda);
- 函数式编程思想,同时作为一种编程方法来简化程序的论证,以及架起程序和逻辑学之间的桥梁。
功能
指南
项目
- Proof Assistant Open Source Projects on Github
- DeepSpec The Science of Deep Specification
- Coq
- Agda
- Idris
- ACL2
- F* A Proof-oriented Programming Language
- Prototype Verification System (PVS) 使用 Common Lisp 编写
- hs-to-coq
- Formal Verification of Ethereum Contracts Ethereum
- HOL Interactive Theorem Prover
- HACL* a formally verified cryptographic library(形式化验证密码学库)written in F*
- Dafny is a verification-aware programming language 使用 C# 编写,采用 MIT 许可证。
- Programming with Refinement Types An Introduction to LiquidHaskell
文档
图书
- 《Software Foundations》 软件基础系列是对可靠软件的数学基础的广泛介绍。该系列的主要创新之处在于,每一个细节都是百分之百的形式化和机器检查:每一卷的整个文本,包括练习,实际上是Coq证明助手的 "证明脚本"。
- 《软件基础》系列广泛地介绍了可靠软件的数学基础,这是《Software Foundations》中文版。
图集
链接
分享您的观点