let a, b, m be Nat; :: thesis: ( a < b implies Ackermann (m,a) < Ackermann (m,b) )
defpred S1[ Nat] means for a being Nat st a < $1 holds
H1(m,a) < H1(m,$1);
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(m,a) < H1(m,k + 1) )
assume a < k + 1 ; :: thesis: H1(m,a) < H1(m,k + 1)
then a <= k by NAT_1:13;
per cases then ( a < k or a = k ) by XXREAL_0:1;
suppose a < k ; :: thesis: H1(m,a) < H1(m,k + 1)
then H1(m,a) < H1(m,k) by A3;
hence H1(m,a) < H1(m,k + 1) by Th17, XXREAL_0:2; :: thesis: verum
end;
suppose a = k ; :: thesis: H1(m,a) < H1(m,k + 1)
hence H1(m,a) < H1(m,k + 1) by Th17; :: thesis: verum
end;
end;
end;
for k being Nat holds S1[k] from NAT_1:sch 2(A1, A2);
hence ( a < b implies Ackermann (m,a) < Ackermann (m,b) ) ; :: thesis: verum