let N be non empty with_non-empty_elements set ; :: thesis: for S being non empty stored-program IC-Ins-separated steady-programmed definite AMI-Struct of N
for s being State of S
for i, k being Element of NAT holds s . i = (Comput (ProgramPart s),s,k) . i

let S be non empty stored-program IC-Ins-separated steady-programmed definite AMI-Struct of N; :: thesis: for s being State of S
for i, k being Element of NAT holds s . i = (Comput (ProgramPart s),s,k) . i

let s be State of S; :: thesis: for i, k being Element of NAT holds s . i = (Comput (ProgramPart s),s,k) . i
let i be Element of NAT ; :: thesis: for k being Element of NAT holds s . i = (Comput (ProgramPart s),s,k) . i
defpred S1[ Element of NAT ] means s . i = (Comput (ProgramPart s),s,$1) . i;
A1: now
let k be Element of NAT ; :: thesis: ( S1[k] implies S1[k + 1] )
X: ProgramPart (Comput (ProgramPart s),s,k) = ProgramPart s by LmY;
assume S1[k] ; :: thesis: S1[k + 1]
then s . i = (Following (ProgramPart (Comput (ProgramPart s),s,k)),(Comput (ProgramPart s),s,k)) . i by Def13
.= (Comput (ProgramPart s),s,(k + 1)) . i by Th14, X ;
hence S1[k + 1] ; :: thesis: verum
end;
A2: S1[ 0 ] by Th13;
thus for k being Element of NAT holds S1[k] from NAT_1:sch 1(A2, A1); :: thesis: verum