consider h being State of S such that
A2:
d c= h
by PBOOLE:156;
A3:
ProgramPart d c= ProgramPart h
by A2, RELAT_1:105;
d +* p = d
by A1, FUNCT_4:80;
then A4:
( d is halting & d is autonomic )
by A1, Def11;
then
ProgramPart h halts_on h
by A2, Def10, A3;
then consider k1 being Element of NAT such that
A5:
Result ((ProgramPart h),h) = Comput ((ProgramPart h),h,k1)
and
A6:
CurInstr ((ProgramPart h),(Result ((ProgramPart h),h))) = halt S
by Def8;
reconsider R = (Result ((ProgramPart h),h)) | (dom (NPP d)) as FinPartState of S ;
take
R
; for s being State of S st d c= s holds
R = (Result ((ProgramPart s),s)) | (dom (NPP d))
let s be State of S; ( d c= s implies R = (Result ((ProgramPart s),s)) | (dom (NPP d)) )
assume A7:
d c= s
; R = (Result ((ProgramPart s),s)) | (dom (NPP d))
ProgramPart d c= ProgramPart s
by A7, RELAT_1:105;
then
ProgramPart s halts_on s
by A7, Def10, A4;
then consider k2 being Element of NAT such that
A8:
Result ((ProgramPart s),s) = Comput ((ProgramPart s),s,k2)
and
A9:
CurInstr ((ProgramPart s),(Result ((ProgramPart s),s))) = halt S
by Def8;
A10:
ProgramPart d c= ProgramPart h
by A2, RELAT_1:105;
A11:
ProgramPart d c= ProgramPart s
by A7, RELAT_1:105;
per cases
( k1 <= k2 or k1 >= k2 )
;
suppose
k1 <= k2
;
R = (Result ((ProgramPart s),s)) | (dom (NPP d))then
Result (
(ProgramPart h),
h)
= Comput (
(ProgramPart h),
h,
k2)
by A5, A6, Th6;
hence
R = (Result ((ProgramPart s),s)) | (dom (NPP d))
by A2, A7, A8, Def9, A4, A10, A11;
verum end; suppose
k1 >= k2
;
R = (Result ((ProgramPart s),s)) | (dom (NPP d))then
Result (
(ProgramPart s),
s)
= Comput (
(ProgramPart s),
s,
k1)
by A8, A9, Th6;
hence
R = (Result ((ProgramPart s),s)) | (dom (NPP d))
by A2, A7, A5, Def9, A4, A10, A11;
verum end; end;