私は帰納法によってアルゴリズムを証明し、それがすべての n >= 0 に対して 3 n - 2 nを返すことを想定しています。これは Eiffel で書かれたアルゴリズムです。
P(n:INTEGER):INTEGER;
do
if n <= 1 then
Result := n
else
Result := 5*P(n-1) - 6*P(n-2)
end
end
私の理解では、あなたはそれを 3 つのステップで証明します。基礎ステップ、帰納的仮説、および完全性の証明。これは私が現在持っているものです。
基本:
P(0) は 0 を返し、3 0 - 2 0 = 0 を返します。
P(1) は 1 を返し、3 1 - 2 1 = 1 です。
誘導仮説:
P(k) が0 <= k < n に対して3 k - 2 kを返すと仮定します。
完全性の証明:
n の場合、P(n) は 5(P(n-1)) - 6(P(n-2)) を返します。
5(P(n-1)) - 6(P(n-2))
5(3 n-1 - 2 n-1 ) - 6(3 n-2 - 2 n-2 ) <-帰納的仮説に基づく
これは私が立ち往生する部分です。これを 3 n - 2 nのように縮小するにはどうすればよいのでしょうか。