let a, b, n be Nat; :: thesis: ( a < b implies Ackermann (a,n) < Ackermann (b,n) )
defpred S1[ Nat] means for a being Nat st a < $1 holds
H1(a,n) < H1($1,n);
A1: S1[ 0 ] ;
A2: for k being Nat st S1[k] holds
S1[k + 1]
proof
let k be Nat; :: thesis: ( S1[k] implies S1[k + 1] )
assume A3: S1[k] ; :: thesis: S1[k + 1]
let a be Nat; :: thesis: ( a < k + 1 implies H1(a,n) < H1(k + 1,n) )
assume a < k + 1 ; :: thesis: H1(a,n) < H1(k + 1,n)
then a <= k by NAT_1:13;
per cases then ( a < k or a = k ) by XXREAL_0:1;
suppose a < k ; :: thesis: H1(a,n) < H1(k + 1,n)
then H1(a,n) < H1(k,n) by A3;
hence H1(a,n) < H1(k + 1,n) by Th22, XXREAL_0:2; :: thesis: verum
end;
suppose a = k ; :: thesis: H1(a,n) < H1(k + 1,n)
hence H1(a,n) < H1(k + 1,n) by Th22; :: thesis: verum
end;
end;
end;
for k being Nat holds S1[k] from NAT_1:sch 2(A1, A2);
hence ( a < b implies Ackermann (a,n) < Ackermann (b,n) ) ; :: thesis: verum