let F be PartFunc of (FinPartSt SCM ),(FinPartSt SCM ); for p being FinPartState of SCM st IC SCM in dom p & F is data-only holds
for k being Element of NAT holds
( ProgramPart p,p computes F iff ProgramPart (Relocated p,k), Relocated p,k computes F )
let p be FinPartState of SCM ; ( IC SCM in dom p & F is data-only implies for k being Element of NAT holds
( ProgramPart p,p computes F iff ProgramPart (Relocated p,k), Relocated p,k computes F ) )
assume that
A1:
IC SCM in dom p
and
A2:
F is data-only
; for k being Element of NAT holds
( ProgramPart p,p computes F iff ProgramPart (Relocated p,k), Relocated p,k computes F )
let k be Element of NAT ; ( ProgramPart p,p computes F iff ProgramPart (Relocated p,k), Relocated p,k computes F )
F1:
(ProgramPart p) +* p = p
by FUNCT_4:119;
F2:
(ProgramPart (Relocated p,k)) +* (Relocated p,k) = Relocated p,k
by FUNCT_4:119;
hereby ( ProgramPart (Relocated p,k), Relocated p,k computes F implies ProgramPart p,p computes F )
assume A3:
ProgramPart p,
p computes F
;
ProgramPart (Relocated p,k), Relocated p,k computes Fthus
ProgramPart (Relocated p,k),
Relocated p,
k computes F
verumproof
let x be
set ;
AMI_1:def 30 ( not x in proj1 F or ex b1 being set st
( x = b1 & ((ProgramPart (Relocated p,k)) +* (Relocated p,k)) +* b1 is set & F . b1 c= Result (ProgramPart (Relocated p,k)),((Relocated p,k) +* b1) ) )
assume A4:
x in dom F
;
ex b1 being set st
( x = b1 & ((ProgramPart (Relocated p,k)) +* (Relocated p,k)) +* b1 is set & F . b1 c= Result (ProgramPart (Relocated p,k)),((Relocated p,k) +* b1) )
then consider d1 being
FinPartState of
SCM such that A5:
x = d1
and A6:
((ProgramPart p) +* p) +* d1 is
pre-program of
SCM
and A7:
F . d1 c= Result (ProgramPart p),
(p +* d1)
by A3, AMI_1:def 30;
dom F c= FinPartSt SCM
by RELAT_1:def 18;
then reconsider d =
x as
FinPartState of
SCM by A4, COMPOS_1:25;
reconsider d =
d as
data-only FinPartState of
SCM by A2, A4, COMPOS_1:def 24;
dom (p +* d) = (dom p) \/ (dom d)
by FUNCT_4:def 1;
then A8:
IC SCM in dom (p +* d)
by A1, XBOOLE_0:def 3;
X:
Relocated (p +* d),
k = (Relocated p,k) +* d
by Th29;
dom d misses NAT
by COMPOS_1:40;
then x:
ProgramPart (p +* d) = ProgramPart p
by FUNCT_4:76;
A9:
DataPart (Result (ProgramPart p),(p +* d1)) =
DataPart (Result (Reloc (ProgramPart p),k),(Relocated (p +* d),k))
by A5, A6, Th42, A8, F1, x
.=
DataPart (Result (ProgramPart (Relocated p,k)),(Relocated (p +* d),k))
by AMISTD_2:69
.=
DataPart (Result (ProgramPart (Relocated p,k)),((Relocated p,k) +* d))
by X
;
reconsider Fs1 =
F . d1 as
FinPartState of
SCM by A7;
take
d
;
( x = d & ((ProgramPart (Relocated p,k)) +* (Relocated p,k)) +* d is set & F . d c= Result (ProgramPart (Relocated p,k)),((Relocated p,k) +* d) )
thus
x = d
;
( ((ProgramPart (Relocated p,k)) +* (Relocated p,k)) +* d is set & F . d c= Result (ProgramPart (Relocated p,k)),((Relocated p,k) +* d) )
(Relocated p,k) +* d = Relocated (p +* d),
k
by Th29;
hence
((ProgramPart (Relocated p,k)) +* (Relocated p,k)) +* d is
pre-program of
SCM
by A5, A6, A8, Th38, Th41, F2, F1;
F . d c= Result (ProgramPart (Relocated p,k)),((Relocated p,k) +* d)
A10:
Fs1 is
data-only
by A2, A4, A5, COMPOS_1:def 24;
then
F . d1 c= DataPart (Result (ProgramPart p),(p +* d1))
by A7, COMPOS_1:17;
then
F . d1 c= DataPart (Result (ProgramPart (Relocated p,k)),((Relocated p,k) +* d))
by A9;
hence
F . d c= Result (ProgramPart (Relocated p,k)),
((Relocated p,k) +* d)
by A5, A10, COMPOS_1:17;
verum
end;
end;
assume A11:
ProgramPart (Relocated p,k), Relocated p,k computes F
; ProgramPart p,p computes F
let x be set ; AMI_1:def 30 ( not x in proj1 F or ex b1 being set st
( x = b1 & ((ProgramPart p) +* p) +* b1 is set & F . b1 c= Result (ProgramPart p),(p +* b1) ) )
assume A12:
x in dom F
; ex b1 being set st
( x = b1 & ((ProgramPart p) +* p) +* b1 is set & F . b1 c= Result (ProgramPart p),(p +* b1) )
then consider d1 being FinPartState of SCM such that
A13:
x = d1
and
A14:
((ProgramPart (Relocated p,k)) +* (Relocated p,k)) +* d1 is pre-program of SCM
and
A15:
F . d1 c= Result (ProgramPart (Relocated p,k)),((Relocated p,k) +* d1)
by A11, AMI_1:def 30;
dom F c= FinPartSt SCM
by RELAT_1:def 18;
then reconsider d = x as FinPartState of SCM by A12, COMPOS_1:25;
reconsider d = d as data-only FinPartState of SCM by A2, A12, COMPOS_1:def 24;
dom (p +* d) = (dom p) \/ (dom d)
by FUNCT_4:def 1;
then A16:
IC SCM in dom (p +* d)
by A1, XBOOLE_0:def 3;
dom d misses NAT
by COMPOS_1:40;
then x:
ProgramPart (p +* d) = ProgramPart p
by FUNCT_4:76;
A17:
(Relocated p,k) +* d = Relocated (p +* d),k
by Th29;
then A18:
p +* d is autonomic
by A13, A14, A16, Th41, F2;
then A19:
p +* d is halting
by A13, A14, A17, A16, Th38, F2;
then
( Relocated (p +* d1),k = (Relocated p,k) +* d1 & Relocated (p +* d),k = (Relocated p,k) +* d )
by A13, Th29;
then A20: DataPart (Result (ProgramPart (Relocated p,k)),((Relocated p,k) +* d1)) =
DataPart (Result (ProgramPart (Relocated p,k)),(Relocated (p +* d),k))
by A13
.=
DataPart (Result (Reloc (ProgramPart p),k),(Relocated (p +* d),k))
by AMISTD_2:69
.=
DataPart (Result (ProgramPart p),(p +* d))
by A16, A18, A19, Th42, x
;
take
d
; ( x = d & ((ProgramPart p) +* p) +* d is set & F . d c= Result (ProgramPart p),(p +* d) )
thus
x = d
; ( ((ProgramPart p) +* p) +* d is set & F . d c= Result (ProgramPart p),(p +* d) )
p +* d is pre-program of SCM
by A13, A14, A17, A16, A18, Th38, F2;
hence
((ProgramPart p) +* p) +* d is pre-program of SCM
by F1; F . d c= Result (ProgramPart p),(p +* d)
reconsider Fs1 = F . d1 as FinPartState of SCM by A15;
A21:
Fs1 is data-only
by A2, A12, A13, COMPOS_1:def 24;
then
F . d1 c= DataPart (Result (ProgramPart (Relocated p,k)),((Relocated p,k) +* d1))
by A15, COMPOS_1:17;
hence
F . d c= Result (ProgramPart p),(p +* d)
by A13, A21, A20, COMPOS_1:17; verum