let N be 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 k being Element of NAT holds ProgramPart s = ProgramPart (Computation s,k)

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

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