let m, n be Nat; Ackermann (m,n) < Ackermann ((m + 1),n)
defpred S1[ Nat] means for n being Nat holds H1($1,n) < H1($1 + 1,n);
A1:
S1[ 0 ]
A3:
for k being Nat st S1[k] holds
S1[k + 1]
proof
let k be
Nat;
( S1[k] implies S1[k + 1] )
assume A4:
S1[
k]
;
S1[k + 1]
defpred S2[
Nat]
means H1(
k + 1,$1)
< H1(
k + 2,$1);
A5:
S2[
0 ]
proof
(
H1(
k + 1,
0 )
= H1(
k,1) &
H1(
(k + 1) + 1,
0 )
= H1(
k + 1,1) )
by Th6;
hence
H1(
k + 1,
0 )
< H1(
k + 2,
0 )
by A4;
verum
end;
A6:
for
b being
Nat st
S2[
b] holds
S2[
b + 1]
proof
let b be
Nat;
( S2[b] implies S2[b + 1] )
assume A7:
S2[
b]
;
S2[b + 1]
A8:
H1(
k + 1,
b + 1)
= H1(
k,
H1(
k + 1,
b))
by Th7;
H1(
k,
H1(
k + 1,
b))
< H1(
k,
H1(
k + 2,
b))
by A7, Th18;
then
H1(
k,
H1(
k + 1,
b))
< H1(
k + 1,
H1(
(k + 1) + 1,
b))
by A4, XXREAL_0:2;
hence
H1(
k + 1,
b + 1)
< H1(
k + 2,
b + 1)
by A8, Th7;
verum
end;
for
b being
Nat holds
S2[
b]
from NAT_1:sch 2(A5, A6);
hence
S1[
k + 1]
;
verum
end;
for k being Nat holds S1[k]
from NAT_1:sch 2(A1, A3);
hence
Ackermann (m,n) < Ackermann ((m + 1),n)
; verum