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

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

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

thus A2: f is bijective :: thesis: for k being Element of NAT holds
( f . (k + 1) in SUCC (f . k) & ( for j being Element of NAT st f . j in SUCC (f . k) holds
k <= j ) )
proof
thus f is one-to-one :: according to FUNCT_2:def 4 :: thesis: f is onto
proof
let x1, x2 be set ; :: according to FUNCT_1:def 8 :: thesis: ( not x1 in dom f or not x2 in dom 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 = il. k1 & f . k2 = il. k2 ) by A1;
hence x1 = x2 by A4; :: thesis: verum
end;
thus f is onto :: thesis: verum
proof
thus rng f c= NAT by RELSET_1:12; :: according to FUNCT_2:def 3,XBOOLE_0:def 10 :: thesis: NAT c= K66(NAT ,NAT ,f)
thus NAT c= rng f :: thesis: verum
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 Instruction-Location of SCM by AMI_1:def 4;
reconsider i = l as Element of NAT by ORDINAL1:def 13;
dom f = NAT by FUNCT_2:def 1;
then ( il. i = f . i & i in dom f ) by A1;
hence x in rng f by FUNCT_1:def 5; :: thesis: verum
end;
end;
end;
let k be Element of NAT ; :: thesis: ( f . (k + 1) in SUCC (f . k) & ( for j being Element of NAT st f . j in SUCC (f . k) holds
k <= j ) )

A6: SUCC (f . k) = {(f . k),(Next (f . k))} by Th64;
A7: ( f . (k + 1) = il. (k + 1) & f . k = il. k ) by A1;
thus f . (k + 1) in SUCC (f . k) by A6, A7, TARSKI:def 2; :: thesis: for j being Element of NAT st f . j in SUCC (f . k) holds
k <= j

let j be Element of NAT ; :: thesis: ( f . j in SUCC (f . k) implies k <= j )
assume A11: f . j in SUCC (f . k) ; :: thesis: k <= j
A12: f is one-to-one by A2, FUNCT_2:def 4;
A13: dom f = NAT by FUNCT_2:def 1;
per cases ( f . j = f . k or f . j = Next (f . k) ) by A6, A11, TARSKI:def 2;
end;