证明功能的正确性

时间:2015-07-14 20:01:23

标签: induction proof-of-correctness

1 def recmin(A):
2 if len(A) == 1:
3   return A[0]
4 else:
5   m = len(A) // 2
6   min1 = recmin(A[0..m-1])
7   min2 = recmin(A[m..len(A)-1])
8   return min(min1, min2)

我试图证明这个函数的部分正确性,我想出了p(i)的谓词:对于数组A=[0..i]len(A)=i+1和recmin [A]被调用,然后这个调用终止并返回一些t,使0<=t<=i A[t]是最小值

但是我觉得这个谓词是错误的,我怎么能证明A[0]是最小值的后置条件

0 个答案:

没有答案
相关问题