我需要帮助来证明迭代程序的正确性:
def term_ex_2(x,y):
''' Pre: x and y are natural numbers '''
a = x
b = y
while a >= 0 or b >= 0:
if a > 0:
a -= 1
else:
b -= 1
return x * y
我知道我需要以某种方式找到循环不变式,并通过对循环的归纳来证明这一点。问题在于,这里的if / else语句使我困惑于如何提出一个。
我还必须证明程序在那之后是否终止。
我对逐步的过程有一个大致的了解,但是我不知道从家庭作业开始该示例的位置。
任何建议将不胜感激。