let N be non empty with_non-empty_elements set ; for S being non empty stored-program IC-Ins-separated definite realistic COM-Struct of N
for p being PartState of S st IC S in dom p holds
NPP p = (DataPart p) +* (Start-At (IC p),S)
let S be non empty stored-program IC-Ins-separated definite realistic COM-Struct of N; for p being PartState of S st IC S in dom p holds
NPP p = (DataPart p) +* (Start-At (IC p),S)
let p be PartState of S; ( IC S in dom p implies NPP p = (DataPart p) +* (Start-At (IC p),S) )
A:
dom (Start-At (IC p),S) = {(IC S)}
by FUNCOP_1:19;
then M1:
dom (DataPart p) misses dom (Start-At (IC p),S)
by Th102;
M2:
dom (Start-At (IC p),S) misses dom (ProgramPart p)
by A, Th103;
M5:
dom (DataPart p) misses dom (ProgramPart p)
by Th104;
dom ((Start-At (IC p),S) +* (ProgramPart p)) = (dom (Start-At (IC p),S)) \/ (dom (ProgramPart p))
by FUNCT_4:def 1;
then M3:
dom ((Start-At (IC p),S) +* (ProgramPart p)) misses dom (DataPart p)
by M1, M5, XBOOLE_1:70;
X1:
(DataPart p) +* (Start-At (IC p),S) = (DataPart p) \/ (Start-At (IC p),S)
by FUNCT_4:32, M1;
assume
IC S in dom p
; NPP p = (DataPart p) +* (Start-At (IC p),S)
then
p = ((Start-At (IC p),S) +* (ProgramPart p)) +* (DataPart p)
by Th108;
then B: p =
((Start-At (IC p),S) +* (ProgramPart p)) \/ (DataPart p)
by M3, FUNCT_4:32
.=
((Start-At (IC p),S) \/ (ProgramPart p)) \/ (DataPart p)
by M2, FUNCT_4:32
.=
(ProgramPart p) \/ ((Start-At (IC p),S) \/ (DataPart p))
by XBOOLE_1:4
;
C:
Start-At (IC p),S misses ProgramPart p
by M2, RELAT_1:214;
M5:
dom (DataPart p) misses dom (ProgramPart p)
by Th104;
DataPart p misses ProgramPart p
by M5, RELAT_1:214;
then
(Start-At (IC p),S) \/ (DataPart p) misses ProgramPart p
by C, XBOOLE_1:70;
then
p \ (ProgramPart p) = (Start-At (IC p),S) \/ (DataPart p)
by B, XBOOLE_1:88;
hence
NPP p = (DataPart p) +* (Start-At (IC p),S)
by X1; verum