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 n being Element of NAT holds s | NAT = (Comput (ProgramPart s),s,n) | NAT

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 n being Element of NAT holds s | NAT = (Comput (ProgramPart s),s,n) | NAT

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