Ackermann Function: Proof that n < A(m, n) for all m, n in N

ackermann-functioninduction

I've been stuck at this problem for a while now and can't get it solved. The prof wants me to proof n < A(m,n) for all m and n being positive Integers.

More details on the Ackermann Function:
$$(1) A(0,n) = n + 1$$
$$(2) A(m + 1, 0) = A(m, 1)$$
$$(3) A(m + 1, n + 1) = A(m, A(m + 1, n))$$

My approach was the following:

Inductionstart_m: $m=0 ; A(0, n) = n+1$

A(0, n) = n+1 is defined and can be assumed to be true

Inductionassumption_m: $n < A(m, n)$ for one m and all n

Inductionproof_m (What we want to proof): $n < A(m+1, n)$ for all n

InductionEnd_m –>

Inductionstart_n: $n=0 ; A(m+1, 0) = A(m, 1)$ –> $1 < A(m, 1)$

Inductionassumption_n: $n < A(m+1, n)$ for one n and all m

Inductionproof_n: $n+1 < A(m+1, n+1)$ for all m

InductionEnd_n: $n+1 < A(m+1, n+1) = A(m, A(m+1, n))$
we already proofed: $n < A(m+1, n)$
Now Im stuck. I dont know how to proof $n+1 < A(m+1, n)$

If that can be proven, then the proof would be done since we know that:
$A(m+1,n) < A(m, A(m+1,n)) $
is true from the Inductionassumption_m because it has the form: $n < A(m, n)$ for one m and all n

Best Answer

Notice that the Ackermann function is discrete. This means we may use $a>b\iff a\ge b+1$, which may be used on the step you found troublesome:

$$A(m+1,n+1)=A(m,A(m+1,n))\ge A(m+1,n)+1\ge(n+1)+1>n+1\tag{$\star$}$$

and the whole proof would be as follows:

  • Base case $m=0$: For all $n$, $A(0,n)=n+1\ge n$ follows.

  • Induction hypothesis $m\implies m+1$: Assume for some $m$ that for all $n$, $A(m,n)\ge n$. Then:

    • Base case $n=0$: $A(m+1,0)=A(m,1)>1>0$ follows.

    • Induction hypothesis $n\implies n+1$: See $(\star)$.

    • Therefore $A(m+1,n)>n$ for all $n$.

  • Therefore ($A(m,n)>n$ for all $n$) for all $m$.

Notice the indented steps all use a fixed $m$ i.e. the same value of $m$. If you write (for all $m$) on those lines, then you are not proving ($A(m+1,n)>n$ for all $n$), which has a fixed value of $m$.