【发布时间】:2023-10-21 03:28:02
【问题描述】:
我编写了自己的微不足道的小函数(为方便起见是 php),并希望有人可以通过归纳来帮助构建一个证明,这样我就可以掌握它的基本原理。
function add_numbers($max) {
//assume max >= 2
$index=1;
$array=array(0);
while ($index != $max) {
//invariant: ∀ k:1 .. index-1, array[k]=array[k-1]+1
$array[$index] = $array[$index-1]+1;
$index += 1;
}
}
结果是每个索引处的值与索引本身相同,但这只是因为 a[0] 被初始化为 0。
我相信目标是(或应该是)证明不变量(它本身可能是可疑的,但希望能说明问题)适用于 k+1。
谢谢
编辑:示例:http://homepages.ius.edu/rwisman/C455/html/notes/Chapter2/LoopInvariantProof.htm
【问题讨论】:
-
我不知道
proof by induction是什么意思。如果你能解释一下,也许我可以帮忙...... -
@J.Bruni,请参阅this Wikipedia page 关于归纳证明。
标签: php math proof loop-invariant