6、使用 Sparkle 证明惰性函数式程序的属性

使用 Sparkle 证明惰性函数式程序的属性

1 形式化推理基础

形式化推理是一种强大的工具,用于验证程序的行为是否符合预期。其基本步骤如下:
1. 形式化对象 :将需要验证的对象 (o) 进行形式化表示。
2. 形式化属性 :定义一个关于对象 (o) 的属性 (p)。
3. 构建证明 :构建一个形式化的证明,表明属性 (p) 对于对象 (o) 成立。

如果形式化推理成功并构建了证明,那么可以绝对确定形式化对象 (o) 的行为符合属性 (p) 的规定。这适用于对象 (o) 可能出现的所有环境,因为形式化证明必须考虑所有可能的情况。相比之下,测试的积极结果受到所使用的测试集的限制,因此形式化推理的积极结果更具说服力。

然而,如果形式化推理未能构建证明,则获得的信息有限。可能是对象 (o) 本身不正确,或者属性 (p) 对对象 (o) 的期望行为指定有误,也可能是证明构建者没有采用正确的证明方法。形式化推理的消极结果难以正确解释,因此不如测试的消极结果有用。

2 形式化框架

形式化推理利用对象的形式化表示(输入)、待证明的属性(输入)和待构建的证明(输出)。此外,为了确保推理的可靠性,还需要一个为属性赋予含义的形式化语义。这些推理的先决条件的组合称为形式化框架:
- 定义 :形式化框架是一个元组 ((O, P, ⊨_o, ⊢_o)),其中:
- (O) 是包含所有可能要推理的对象的集合,(o ∈ O) 表示 (o) 是一个有效的推理对象。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值