大小最优排序网络的形式化
在排序网络的研究中,形式化大小最优排序网络是一个重要的课题。本文将详细介绍排序网络的形式化过程,包括证明方法、排列的表示、生成 - 剪枝算法的形式化等内容。
1. 证明方法
在排序网络理论中,我们将对象和证明项完全分离,这是由排序网络理论的构造性本质决定的。关键结果通常是 “如果存在排序网络 N,那么存在另一个排序网络 N′ 使得……” 的形式,已发表的证明都是通过明确描述如何从 N 构造 N′ 来进行的。我们将这些结果形式化为算子,以简化其重用。
将证明项与定义分离,并将存在性证明形式化为算子有以下优点:
- 更容易定义这些算子,然后证明它们满足所需的属性,而不是在定义中包含证明项。
- 属性的假设变得更加明确。
- 可以直接使用算子和相关引理,而不是反复对存在性陈述进行反演。
- 后续需要的算子的额外属性可以轻松添加为新引理,而不需要更改原始定理。
- 自动获得证明无关性,因为证明项在引理中是全称量化的。
以标准化为例,给定一个比较器网络 C,选择第一个满足 i > j 的比较器 (i, j),将其替换为 (j, i),并在所有后续比较器中交换 i 和 j,然后迭代该过程直到达到不动点。标准化使用良基递归形式化如下:
Function
std (S:CN) {measure
length S} : CN := match S with
| nil => nil
| cons c S’ => let (x,y) := c in
match (le_lt_dec x y) with
| lef
超级会员免费看
订阅专栏 解锁全文
530

被折叠的 条评论
为什么被折叠?



