let R be good Ring; :: thesis: for f being Function of NAT ,NAT st ( for k being Element of NAT holds f . k = k ) holds
( f is bijective & ( for k being Element of NAT holds
( f . (k + 1) in SUCC (f . k),(SCM R) & ( for j being Element of NAT st f . j in SUCC (f . k),(SCM R) holds
k <= j ) ) ) )

let f be Function of NAT ,NAT ; :: thesis: ( ( for k being Element of NAT holds f . k = k ) implies ( f is bijective & ( for k being Element of NAT holds
( f . (k + 1) in SUCC (f . k),(SCM R) & ( for j being Element of NAT st f . j in SUCC (f . k),(SCM R) holds
k <= j ) ) ) ) )

assume A1: for k being Element of NAT holds f . k = k ; :: thesis: ( f is bijective & ( for k being Element of NAT holds
( f . (k + 1) in SUCC (f . k),(SCM R) & ( for j being Element of NAT st f . j in SUCC (f . k),(SCM R) holds
k <= j ) ) ) )

A2: f is one-to-one
proof
let x1, x2 be set ; :: according to FUNCT_1:def 8 :: thesis: ( not x1 in proj1 f or not x2 in proj1 f or not f . x1 = f . x2 or x1 = x2 )
assume that
A3: ( x1 in dom f & x2 in dom f ) and
A4: f . x1 = f . x2 ; :: thesis: x1 = x2
reconsider k1 = x1, k2 = x2 as Element of NAT by A3, FUNCT_2:def 1;
( f . k1 = k1 & f . k2 = k2 ) by A1;
hence x1 = x2 by A4; :: thesis: verum
end;
A5: NAT c= rng f
proof
let x be set ; :: according to TARSKI:def 3 :: thesis: ( not x in NAT or x in rng f )
assume x in NAT ; :: thesis: x in rng f
then reconsider l = x as Element of NAT ;
reconsider i = l as Element of NAT ;
( dom f = NAT & i = f . i ) by A1, FUNCT_2:def 1;
hence x in rng f by FUNCT_1:def 5; :: thesis: verum
end;
rng f c= NAT by RELAT_1:def 19;
then NAT = rng f by A5, XBOOLE_0:def 10;
then f is onto by FUNCT_2:def 3;
hence f is bijective by A2; :: thesis: for k being Element of NAT holds
( f . (k + 1) in SUCC (f . k),(SCM R) & ( for j being Element of NAT st f . j in SUCC (f . k),(SCM R) holds
k <= j ) )

let k be Element of NAT ; :: thesis: ( f . (k + 1) in SUCC (f . k),(SCM R) & ( for j being Element of NAT st f . j in SUCC (f . k),(SCM R) holds
k <= j ) )

A6: ( f . (k + 1) = k + 1 & f . k = k ) by A1;
reconsider fk = f . k as Element of NAT ;
A7: SUCC (f . k),(SCM R) = {(f . k),(succ fk)} by Th64;
hence f . (k + 1) in SUCC (f . k),(SCM R) by A6, TARSKI:def 2; :: thesis: for j being Element of NAT st f . j in SUCC (f . k),(SCM R) holds
k <= j

let j be Element of NAT ; :: thesis: ( f . j in SUCC (f . k),(SCM R) implies k <= j )
A8: dom f = NAT by FUNCT_2:def 1;
assume A9: f . j in SUCC (f . k),(SCM R) ; :: thesis: k <= j
reconsider fk = f . k as Element of NAT ;
per cases ( f . j = f . k or f . j = succ fk ) by A7, A9, TARSKI:def 2;
end;