加载中...
霍尔逻辑是一套用于形式化证明程序正确性的公理系统,核心是霍尔三元组,通过前置条件与后置条件刻画程序片段的行为。它由计算机科学家托尼·霍尔提出,是程序验证与形式化方法的奠基性工作。

| 提出者 | 托尼·霍尔 |
| 提出时间 | 1969年 |
| 核心记号 | 霍尔三元组 |
| 所属流派 | 公理语义 |
| 重要扩展 | 分离逻辑 |
霍尔逻辑是一种用于严格证明命令式程序正确性的形式化演绎系统,其核心记号是霍尔三元组,形式为在满足前置条件的状态下执行某段程序后,若程序终止则结果满足后置条件。
霍尔逻辑由英国计算机科学家托尼·霍尔(Tony Hoare)于1969年提出,是公理语义的代表。它不描述程序如何执行,而是提供一组推理规则,让人们通过逻辑推导证明程序满足给定的规约,从而把程序验证转化为数学证明问题。
霍尔逻辑是程序验证、形式化方法、静态分析的理论基础,被广泛用于关键软件的正确性证明。现代的分离逻辑正是它的扩展,用于处理指针与堆内存。许多验证工具和自动定理证明器背后都以霍尔逻辑为骨架。
问:循环不变式为什么这么重要?答:循环可能执行任意多次,无法逐次展开证明,只有找到一个在每轮迭代都保持成立的断言,才能借助归纳一举证明整个循环的效果,因此循环不变式是循环验证的关键。
问:部分正确性和完全正确性有何差别?答:部分正确性只保证若程序终止则结果正确,不排除死循环;完全正确性则额外证明程序一定会终止,通常需要引入一个随迭代递减的度量。

| 提出者 | 托尼·霍尔 |
| 提出时间 | 1969年 |
| 核心记号 | 霍尔三元组 |
| 所属流派 | 公理语义 |
| 重要扩展 | 分离逻辑 |
登录 后参与讨论
暂无讨论,来发表第一条评论吧