let N be non empty with_non-empty_elements set ; for S being non empty stored-program IC-Ins-separated definite realistic standard-ins homogeneous regular J/A-independent halting Exec-preserving relocable IC-recognized AMI-Struct of N st S is CurIns-recognized holds
for p being FinPartState of S st IC in dom p holds
for k being Element of NAT holds
( p is autonomic iff Relocated (p,k) is autonomic )
let S be non empty stored-program IC-Ins-separated definite realistic standard-ins homogeneous regular J/A-independent halting Exec-preserving relocable IC-recognized AMI-Struct of N; ( S is CurIns-recognized implies for p being FinPartState of S st IC in dom p holds
for k being Element of NAT holds
( p is autonomic iff Relocated (p,k) is autonomic ) )
assume A1:
S is CurIns-recognized
; for p being FinPartState of S st IC in dom p holds
for k being Element of NAT holds
( p is autonomic iff Relocated (p,k) is autonomic )
let p be FinPartState of S; ( IC in dom p implies for k being Element of NAT holds
( p is autonomic iff Relocated (p,k) is autonomic ) )
assume A2:
IC in dom p
; for k being Element of NAT holds
( p is autonomic iff Relocated (p,k) is autonomic )
let k be Element of NAT ; ( p is autonomic iff Relocated (p,k) is autonomic )
RE:
Reloc ((ProgramPart p),k) = ProgramPart (Relocated (p,k))
by COMPOS_1:116;
hereby ( Relocated (p,k) is autonomic implies p is autonomic )
assume A4:
p is
autonomic
;
Relocated (p,k) is autonomic thus
Relocated (
p,
k) is
autonomic
verumproof
let P,
Q be the
Instructions of
S -valued ManySortedSet of
NAT ;
EXTPRO_1:def 9 ( not ProgramPart (Relocated (p,k)) c= P or not ProgramPart (Relocated (p,k)) c= Q or for b1, b2 being set holds
( not NPP (Relocated (p,k)) c= b1 or not NPP (Relocated (p,k)) c= b2 or for b3 being Element of NAT holds (Comput (P,b1,b3)) | (proj1 (NPP (Relocated (p,k)))) = (Comput (Q,b2,b3)) | (proj1 (NPP (Relocated (p,k)))) ) )
assume that A5:
ProgramPart (Relocated (p,k)) c= P
and A6:
ProgramPart (Relocated (p,k)) c= Q
;
for b1, b2 being set holds
( not NPP (Relocated (p,k)) c= b1 or not NPP (Relocated (p,k)) c= b2 or for b3 being Element of NAT holds (Comput (P,b1,b3)) | (proj1 (NPP (Relocated (p,k)))) = (Comput (Q,b2,b3)) | (proj1 (NPP (Relocated (p,k)))) )
let s1,
s2 be
State of
S;
( not NPP (Relocated (p,k)) c= s1 or not NPP (Relocated (p,k)) c= s2 or for b1 being Element of NAT holds (Comput (P,s1,b1)) | (proj1 (NPP (Relocated (p,k)))) = (Comput (Q,s2,b1)) | (proj1 (NPP (Relocated (p,k)))) )
assume that A7:
NPP (Relocated (p,k)) c= s1
and A8:
NPP (Relocated (p,k)) c= s2
;
for b1 being Element of NAT holds (Comput (P,s1,b1)) | (proj1 (NPP (Relocated (p,k)))) = (Comput (Q,s2,b1)) | (proj1 (NPP (Relocated (p,k))))
let i be
Element of
NAT ;
(Comput (P,s1,i)) | (proj1 (NPP (Relocated (p,k)))) = (Comput (Q,s2,i)) | (proj1 (NPP (Relocated (p,k))))
A9:
NPP (Comput (P,s1,i)) = NPP (IncIC ((Comput ((P +* (ProgramPart p)),(s1 +* (NPP p)),i)),k))
by A2, A4, A7, Th9, A1, A5, RE;
A12:
dom (Start-At (((IC (Comput ((Q +* (ProgramPart p)),(s2 +* (NPP p)),i))) + k),S)) = {(IC )}
by FUNCOP_1:19;
then A13:
dom (DataPart p) misses dom (Start-At (((IC (Comput ((Q +* (ProgramPart p)),(s2 +* (NPP p)),i))) + k),S))
by COMPOS_1:13;
A14:
dom (Start-At (((IC (Comput ((P +* (ProgramPart p)),(s1 +* (NPP p)),i))) + k),S)) = {(IC )}
by FUNCOP_1:19;
then A15:
dom (DataPart p) misses dom (Start-At (((IC (Comput ((P +* (ProgramPart p)),(s1 +* (NPP p)),i))) + k),S))
by COMPOS_1:13;
A16:
NPP (Comput (Q,s2,i)) = NPP (IncIC ((Comput ((Q +* (ProgramPart p)),(s2 +* (NPP p)),i)),k))
by A2, A4, A8, Th9, A1, A6, RE;
A17:
(
ProgramPart p c= P +* (ProgramPart p) &
ProgramPart p c= Q +* (ProgramPart p) )
by FUNCT_4:26;
(
NPP p c= s1 +* (NPP p) &
NPP p c= s2 +* (NPP p) )
by FUNCT_4:26;
then A18:
(Comput ((P +* (ProgramPart p)),(s1 +* (NPP p)),i)) | (dom (NPP p)) = (Comput ((Q +* (ProgramPart p)),(s2 +* (NPP p)),i)) | (dom (NPP p))
by A4, A17, EXTPRO_1:def 9;
A19:
DataPart p c= NPP p
by COMPOS_1:169;
A21:
(Comput (P,s1,i)) | (dom (DataPart p)) =
(NPP (Comput (P,s1,i))) | (dom (DataPart p))
by COMPOS_1:241
.=
(NPP (IncIC ((Comput ((P +* (ProgramPart p)),(s1 +* (NPP p)),i)),k))) | (dom (DataPart p))
by A9
.=
(IncIC ((Comput ((P +* (ProgramPart p)),(s1 +* (NPP p)),i)),k)) | (dom (DataPart p))
by COMPOS_1:241
.=
(Comput ((P +* (ProgramPart p)),(s1 +* (NPP p)),i)) | (dom (DataPart p))
by A15, FUNCT_4:76
.=
(Comput ((Q +* (ProgramPart p)),(s2 +* (NPP p)),i)) | (dom (DataPart p))
by A18, A19, RELAT_1:25, RELAT_1:188
.=
(IncIC ((Comput ((Q +* (ProgramPart p)),(s2 +* (NPP p)),i)),k)) | (dom (DataPart p))
by A13, FUNCT_4:76
.=
(NPP (IncIC ((Comput ((Q +* (ProgramPart p)),(s2 +* (NPP p)),i)),k))) | (dom (DataPart p))
by COMPOS_1:241
.=
(NPP (Comput (Q,s2,i))) | (dom (DataPart p))
by A16
.=
(Comput (Q,s2,i)) | (dom (DataPart p))
by COMPOS_1:241
;
IC in dom (NPP p)
by A2, COMPOS_1:179;
then A22:
{(IC )} c= dom (NPP p)
by ZFMISC_1:37;
A23:
Start-At (
(IC (Comput ((P +* (ProgramPart p)),(s1 +* (NPP p)),i))),
S) =
(Comput ((P +* (ProgramPart p)),(s1 +* (NPP p)),i)) | {(IC )}
by COMPOS_1:10
.=
(Comput ((Q +* (ProgramPart p)),(s2 +* (NPP p)),i)) | {(IC )}
by A18, A22, RELAT_1:188
.=
Start-At (
(IC (Comput ((Q +* (ProgramPart p)),(s2 +* (NPP p)),i))),
S)
by COMPOS_1:10
;
A24:
dom (Start-At (((IC p) + k),S)) = {(IC )}
by FUNCOP_1:19;
then A26:
(Comput (P,s1,i)) | (dom (Start-At (((IC p) + k),S))) =
(NPP (Comput (P,s1,i))) | (dom (Start-At (((IC p) + k),S)))
by COMPOS_1:242
.=
(NPP (IncIC ((Comput ((P +* (ProgramPart p)),(s1 +* (NPP p)),i)),k))) | (dom (Start-At (((IC p) + k),S)))
by A9
.=
(IncIC ((Comput ((P +* (ProgramPart p)),(s1 +* (NPP p)),i)),k)) | (dom (Start-At (((IC p) + k),S)))
by A24, COMPOS_1:242
.=
Start-At (
((IC (Comput ((P +* (ProgramPart p)),(s1 +* (NPP p)),i))) + k),
S)
by A24, A14, FUNCT_4:24
.=
Start-At (
((IC (Comput ((Q +* (ProgramPart p)),(s2 +* (NPP p)),i))) + k),
S)
by A23, COMPOS_1:43
.=
(IncIC ((Comput ((Q +* (ProgramPart p)),(s2 +* (NPP p)),i)),k)) | (dom (Start-At (((IC p) + k),S)))
by A24, A12, FUNCT_4:24
.=
(NPP (IncIC ((Comput ((Q +* (ProgramPart p)),(s2 +* (NPP p)),i)),k))) | (dom (Start-At (((IC p) + k),S)))
by A24, COMPOS_1:242
.=
(NPP (Comput (Q,s2,i))) | (dom (Start-At (((IC p) + k),S)))
by A16
.=
(Comput (Q,s2,i)) | (dom (Start-At (((IC p) + k),S)))
by A24, COMPOS_1:242
;
A27:
dom (Start-At (((IC p) + k),S)) = {(IC )}
by FUNCOP_1:19;
A28:
dom (NPP p) = {(IC )} \/ (dom (DataPart p))
by A2, COMPOS_1:70;
A29:
(Comput (P,s1,i)) | (dom (NPP p)) =
((Comput (P,s1,i)) | {(IC )}) \/ ((Comput (P,s1,i)) | (dom (DataPart p)))
by A28, RELAT_1:107
.=
(Comput (Q,s2,i)) | (dom (NPP p))
by A28, A27, A21, A26, RELAT_1:107
;
A30:
dom (IncIC ((NPP p),k)) =
(dom (NPP p)) \/ (dom (Start-At (((IC (NPP p)) + k),S)))
by FUNCT_4:def 1
.=
(dom (NPP p)) \/ (dom (Start-At (((IC p) + k),S)))
by A2, COMPOS_1:72
;
A31:
(Comput (P,s1,i)) | (dom (IncIC ((NPP p),k))) =
((Comput (P,s1,i)) | (dom (NPP p))) \/ ((Comput (P,s1,i)) | (dom (Start-At (((IC p) + k),S))))
by A30, RELAT_1:107
.=
(Comput (Q,s2,i)) | (dom (IncIC ((NPP p),k)))
by A30, A26, A29, RELAT_1:107
;
thus (Comput (P,s1,i)) | (dom (NPP (Relocated (p,k)))) =
(Comput (P,s1,i)) | (dom (IncIC ((NPP p),k)))
by COMPOS_1:180
.=
(Comput (Q,s2,i)) | (dom (NPP (Relocated (p,k))))
by A31, COMPOS_1:180
;
verum
end;
end;
assume A32:
Relocated (p,k) is autonomic
; p is autonomic
DataPart (Relocated (p,k)) c= NPP (Relocated (p,k))
by COMPOS_1:169;
then
DataPart p c= NPP (Relocated (p,k))
by COMPOS_1:115;
then A33:
dom (DataPart p) c= dom (NPP (Relocated (p,k)))
by GRFUNC_1:8;
let P, Q be the Instructions of S -valued ManySortedSet of NAT ; EXTPRO_1:def 9 ( not ProgramPart p c= P or not ProgramPart p c= Q or for b1, b2 being set holds
( not NPP p c= b1 or not NPP p c= b2 or for b3 being Element of NAT holds (Comput (P,b1,b3)) | (proj1 (NPP p)) = (Comput (Q,b2,b3)) | (proj1 (NPP p)) ) )
assume that
A34:
ProgramPart p c= P
and
A35:
ProgramPart p c= Q
; for b1, b2 being set holds
( not NPP p c= b1 or not NPP p c= b2 or for b3 being Element of NAT holds (Comput (P,b1,b3)) | (proj1 (NPP p)) = (Comput (Q,b2,b3)) | (proj1 (NPP p)) )
A36:
( Reloc ((ProgramPart p),k) c= P +* (Reloc ((ProgramPart p),k)) & Reloc ((ProgramPart p),k) c= Q +* (Reloc ((ProgramPart p),k)) )
by FUNCT_4:26;
let s1, s2 be State of S; ( not NPP p c= s1 or not NPP p c= s2 or for b1 being Element of NAT holds (Comput (P,s1,b1)) | (proj1 (NPP p)) = (Comput (Q,s2,b1)) | (proj1 (NPP p)) )
assume that
A37:
NPP p c= s1
and
A38:
NPP p c= s2
; for b1 being Element of NAT holds (Comput (P,s1,b1)) | (proj1 (NPP p)) = (Comput (Q,s2,b1)) | (proj1 (NPP p))
let i be Element of NAT ; (Comput (P,s1,i)) | (proj1 (NPP p)) = (Comput (Q,s2,i)) | (proj1 (NPP p))
( NPP (Relocated (p,k)) c= s1 +* (NPP (Relocated (p,k))) & NPP (Relocated (p,k)) c= s2 +* (NPP (Relocated (p,k))) )
by FUNCT_4:26;
then A43:
(Comput ((P +* (Reloc ((ProgramPart p),k))),(s1 +* (NPP (Relocated (p,k)))),i)) | (dom (NPP (Relocated (p,k)))) = (Comput ((Q +* (Reloc ((ProgramPart p),k))),(s2 +* (NPP (Relocated (p,k)))),i)) | (dom (NPP (Relocated (p,k))))
by A32, A36, RE, EXTPRO_1:def 9;
A44:
dom (Start-At (((IC (Comput ((Q +* (Reloc ((ProgramPart p),k))),(s2 +* (NPP (Relocated (p,k)))),i))) -' k),S)) = {(IC )}
by FUNCOP_1:19;
then A45:
dom (DataPart p) misses dom (Start-At (((IC (Comput ((Q +* (Reloc ((ProgramPart p),k))),(s2 +* (NPP (Relocated (p,k)))),i))) -' k),S))
by COMPOS_1:13;
A46:
dom (Start-At (((IC (Comput ((P +* (Reloc ((ProgramPart p),k))),(s1 +* (NPP (Relocated (p,k)))),i))) -' k),S)) = {(IC )}
by FUNCOP_1:19;
then A47:
dom (DataPart p) misses dom (Start-At (((IC (Comput ((P +* (Reloc ((ProgramPart p),k))),(s1 +* (NPP (Relocated (p,k)))),i))) -' k),S))
by COMPOS_1:13;
A49: (Comput (P,s1,i)) | (dom (DataPart p)) =
(NPP (Comput (P,s1,i))) | (dom (DataPart p))
by COMPOS_1:241
.=
(NPP (DecIC ((Comput ((P +* (Reloc ((ProgramPart p),k))),(s1 +* (NPP (Relocated (p,k)))),i)),k))) | (dom (DataPart p))
by A2, A32, A37, Th10, A1, A34
.=
(DecIC ((Comput ((P +* (Reloc ((ProgramPart p),k))),(s1 +* (NPP (Relocated (p,k)))),i)),k)) | (dom (DataPart p))
by COMPOS_1:241
.=
(Comput ((P +* (Reloc ((ProgramPart p),k))),(s1 +* (NPP (Relocated (p,k)))),i)) | (dom (DataPart p))
by A47, FUNCT_4:76
.=
(Comput ((Q +* (Reloc ((ProgramPart p),k))),(s2 +* (NPP (Relocated (p,k)))),i)) | (dom (DataPart p))
by A43, A33, RELAT_1:188
.=
(DecIC ((Comput ((Q +* (Reloc ((ProgramPart p),k))),(s2 +* (NPP (Relocated (p,k)))),i)),k)) | (dom (DataPart p))
by A45, FUNCT_4:76
.=
(NPP (DecIC ((Comput ((Q +* (Reloc ((ProgramPart p),k))),(s2 +* (NPP (Relocated (p,k)))),i)),k))) | (dom (DataPart p))
by COMPOS_1:241
.=
(NPP (Comput (Q,s2,i))) | (dom (DataPart p))
by A2, A32, A38, Th10, A1, A35
.=
(Comput (Q,s2,i)) | (dom (DataPart p))
by COMPOS_1:241
;
IC in dom (Relocated (p,k))
by COMPOS_1:119;
then
IC in dom (NPP (Relocated (p,k)))
by COMPOS_1:179;
then A50:
{(IC )} c= dom (NPP (Relocated (p,k)))
by ZFMISC_1:37;
A51: Start-At ((IC (Comput ((P +* (Reloc ((ProgramPart p),k))),(s1 +* (NPP (Relocated (p,k)))),i))),S) =
(Comput ((P +* (Reloc ((ProgramPart p),k))),(s1 +* (NPP (Relocated (p,k)))),i)) | {(IC )}
by COMPOS_1:10
.=
(Comput ((Q +* (Reloc ((ProgramPart p),k))),(s2 +* (NPP (Relocated (p,k)))),i)) | {(IC )}
by A43, A50, RELAT_1:188
.=
Start-At ((IC (Comput ((Q +* (Reloc ((ProgramPart p),k))),(s2 +* (NPP (Relocated (p,k)))),i))),S)
by COMPOS_1:10
;
A52:
dom (Start-At ((IC p),S)) = {(IC )}
by FUNCOP_1:19;
then A54: (Comput (P,s1,i)) | (dom (Start-At ((IC p),S))) =
(NPP (Comput (P,s1,i))) | (dom (Start-At ((IC p),S)))
by COMPOS_1:242
.=
(NPP (DecIC ((Comput ((P +* (Reloc ((ProgramPart p),k))),(s1 +* (NPP (Relocated (p,k)))),i)),k))) | (dom (Start-At ((IC p),S)))
by A2, A32, A37, Th10, A1, A34
.=
(DecIC ((Comput ((P +* (Reloc ((ProgramPart p),k))),(s1 +* (NPP (Relocated (p,k)))),i)),k)) | (dom (Start-At ((IC p),S)))
by A52, COMPOS_1:242
.=
Start-At (((IC (Comput ((P +* (Reloc ((ProgramPart p),k))),(s1 +* (NPP (Relocated (p,k)))),i))) -' k),S)
by A52, A46, FUNCT_4:24
.=
Start-At (((IC (Comput ((Q +* (Reloc ((ProgramPart p),k))),(s2 +* (NPP (Relocated (p,k)))),i))) -' k),S)
by A51, COMPOS_1:44
.=
(DecIC ((Comput ((Q +* (Reloc ((ProgramPart p),k))),(s2 +* (NPP (Relocated (p,k)))),i)),k)) | (dom (Start-At ((IC p),S)))
by A52, A44, FUNCT_4:24
.=
(NPP (DecIC ((Comput ((Q +* (Reloc ((ProgramPart p),k))),(s2 +* (NPP (Relocated (p,k)))),i)),k))) | (dom (Start-At ((IC p),S)))
by A52, COMPOS_1:242
.=
(NPP (Comput (Q,s2,i))) | (dom (Start-At ((IC p),S)))
by A2, A32, A38, Th10, A1, A35
.=
(Comput (Q,s2,i)) | (dom (Start-At ((IC p),S)))
by A52, COMPOS_1:242
;
thus (Comput (P,s1,i)) | (dom (NPP p)) =
(Comput (P,s1,i)) | (dom ((Start-At ((IC p),S)) +* (DataPart p)))
by A2, COMPOS_1:181
.=
(Comput (P,s1,i)) | ((dom (Start-At ((IC p),S))) \/ (dom (DataPart p)))
by FUNCT_4:def 1
.=
((Comput (Q,s2,i)) | (dom (Start-At ((IC p),S)))) \/ ((Comput (Q,s2,i)) | (dom (DataPart p)))
by A49, A54, RELAT_1:107
.=
(Comput (Q,s2,i)) | ((dom (Start-At ((IC p),S))) \/ (dom (DataPart p)))
by RELAT_1:107
.=
(Comput (Q,s2,i)) | (dom ((Start-At ((IC p),S)) +* (DataPart p)))
by FUNCT_4:def 1
.=
(Comput (Q,s2,i)) | (dom (NPP p))
by A2, COMPOS_1:181
; verum