0
這裏有一個功能我要證明其corectness(寫在OCaml的):證明尾遞歸函數(計算整數的權力)
let rec pow ak a k = if k=0 then ak
else if (k mod 2)=1 then pow (ak*a) (a*a) (k/2)
else pow ak (a*a) (k/2);;
其規格:
For integers ak, a>0, k>=0 pow returns ak*(a^k).
我知道我需要證明2件事 - 函數終止,並返回假設輸入的正確結果。問題是我沒有看到這樣的證據,我唯一知道的是我需要使用歸納。我應該如何處理這樣的問題?
換句話說,遞歸與歸納證明完全相同。 – 2014-10-11 16:45:20
如何一次使用兩個變量的歸納? – qiubit 2014-10-11 16:57:17
就像在一個變量上一樣,沒什麼特別的 – ivg 2014-10-11 17:10:01