let p be FinPartState of SCM+FSA ; :: thesis: ( IC SCM+FSA in dom p implies for k being Element of NAT holds
( p is autonomic iff Relocated p,k is autonomic ) )
assume A1:
IC SCM+FSA in dom p
; :: thesis: for k being Element of NAT holds
( p is autonomic iff Relocated p,k is autonomic )
let k be Element of NAT ; :: thesis: ( p is autonomic iff Relocated p,k is autonomic )
hereby :: thesis: ( Relocated p,k is autonomic implies p is autonomic )
assume A2:
p is
autonomic
;
:: thesis: Relocated p,k is autonomic thus
Relocated p,
k is
autonomic
:: thesis: verumproof
let s1,
s2 be
State of
SCM+FSA ;
:: according to AMI_1:def 25 :: thesis: ( not Relocated p,k c= s1 or not Relocated p,k c= s2 or for b1 being Element of NAT holds (Computation s1,b1) | (dom (Relocated p,k)) = (Computation s2,b1) | (dom (Relocated p,k)) )
assume A3:
(
Relocated p,
k c= s1 &
Relocated p,
k c= s2 )
;
:: thesis: for b1 being Element of NAT holds (Computation s1,b1) | (dom (Relocated p,k)) = (Computation s2,b1) | (dom (Relocated p,k))
let i be
Element of
NAT ;
:: thesis: (Computation s1,i) | (dom (Relocated p,k)) = (Computation s2,i) | (dom (Relocated p,k))
A4:
Computation s1,
i = (((Computation (s1 +* p),i) +* (Start-At ((IC (Computation (s1 +* p),i)) + k))) +* (s1 | (dom (ProgramPart p)))) +* (ProgramPart (Relocated p,k))
by A1, A2, A3, Th14;
A5:
Computation s2,
i = (((Computation (s2 +* p),i) +* (Start-At ((IC (Computation (s2 +* p),i)) + k))) +* (s2 | (dom (ProgramPart p)))) +* (ProgramPart (Relocated p,k))
by A1, A2, A3, Th14;
(
p c= s1 +* p &
p c= s2 +* p )
by FUNCT_4:26;
then A6:
(Computation (s1 +* p),i) | (dom p) = (Computation (s2 +* p),i) | (dom p)
by A2, AMI_1:def 25;
A7:
dom (Start-At ((IC p) + k)) = {(IC SCM+FSA )}
by FUNCOP_1:19;
A8:
dom (Start-At ((IC (Computation (s1 +* p),i)) + k)) = {(IC SCM+FSA )}
by FUNCOP_1:19;
A9:
dom (Start-At ((IC (Computation (s2 +* p),i)) + k)) = {(IC SCM+FSA )}
by FUNCOP_1:19;
A10:
{(IC SCM+FSA )} c= dom p
by A1, ZFMISC_1:37;
A11:
Start-At (IC (Computation (s1 +* p),i)) =
(Computation (s1 +* p),i) | {(IC SCM+FSA )}
by AMI_1:95
.=
(Computation (s2 +* p),i) | {(IC SCM+FSA )}
by A6, A10, RELAT_1:188
.=
Start-At (IC (Computation (s2 +* p),i))
by AMI_1:95
;
A12:
dom (Start-At ((IC p) + k)) misses dom (ProgramPart (Relocated p,k))
by A7, AMI_1:103;
dom [(ProgramPart p)] c= the
carrier of
SCM+FSA
by AMI_1:80;
then
dom (ProgramPart p) c= dom s1
by AMI_1:79;
then A13:
dom (s1 | (dom (ProgramPart p))) = dom (ProgramPart p)
by RELAT_1:91;
dom [(ProgramPart p)] c= the
carrier of
SCM+FSA
by AMI_1:80;
then
dom (ProgramPart p) c= dom s2
by AMI_1:79;
then A14:
dom (s2 | (dom (ProgramPart p))) = dom (ProgramPart p)
by RELAT_1:91;
A15:
(Computation s1,i) | (dom (Start-At ((IC p) + k))) =
(((Computation (s1 +* p),i) +* (Start-At ((IC (Computation (s1 +* p),i)) + k))) +* (s1 | (dom (ProgramPart p)))) | (dom (Start-At ((IC p) + k)))
by A4, A12, FUNCT_4:76
.=
((Computation (s1 +* p),i) +* (Start-At ((IC (Computation (s1 +* p),i)) + k))) | (dom (Start-At ((IC p) + k)))
by A7, A13, AMI_1:103, FUNCT_4:76
.=
Start-At ((IC (Computation (s1 +* p),i)) + k)
by A7, A8, FUNCT_4:24
.=
Start-At ((IC (Computation (s2 +* p),i)) + k)
by A11, SCMNORM:9
.=
((Computation (s2 +* p),i) +* (Start-At ((IC (Computation (s2 +* p),i)) + k))) | (dom (Start-At ((IC p) + k)))
by A7, A9, FUNCT_4:24
.=
(((Computation (s2 +* p),i) +* (Start-At ((IC (Computation (s2 +* p),i)) + k))) +* (s2 | (dom (ProgramPart p)))) | (dom (Start-At ((IC p) + k)))
by A7, A14, AMI_1:103, FUNCT_4:76
.=
(Computation s2,i) | (dom (Start-At ((IC p) + k)))
by A5, A12, FUNCT_4:76
;
A16:
(Computation s1,i) | (dom (IncAddr [(Shift (ProgramPart p),k)],k)) =
(Computation s1,i) | (dom (ProgramPart (Relocated p,k)))
by Th2
.=
ProgramPart (Relocated p,k)
by A4, FUNCT_4:24
.=
(Computation s2,i) | (dom (ProgramPart (Relocated p,k)))
by A5, FUNCT_4:24
.=
(Computation s2,i) | (dom (IncAddr [(Shift (ProgramPart p),k)],k))
by Th2
;
DataPart p c= p
by RELAT_1:88;
then A17:
dom (DataPart p) c= dom p
by GRFUNC_1:8;
A18:
dom (DataPart p) misses dom (ProgramPart (Relocated p,k))
by AMI_1:104;
A19:
dom (DataPart p) misses dom (Start-At ((IC (Computation (s1 +* p),i)) + k))
by A8, AMI_1:102;
A20:
dom (DataPart p) misses dom (Start-At ((IC (Computation (s2 +* p),i)) + k))
by A9, AMI_1:102;
A21:
(Computation s1,i) | (dom (DataPart p)) =
(((Computation (s1 +* p),i) +* (Start-At ((IC (Computation (s1 +* p),i)) + k))) +* (s1 | (dom (ProgramPart p)))) | (dom (DataPart p))
by A4, A18, FUNCT_4:76
.=
((Computation (s1 +* p),i) +* (Start-At ((IC (Computation (s1 +* p),i)) + k))) | (dom (DataPart p))
by A13, AMI_1:104, FUNCT_4:76
.=
(Computation (s1 +* p),i) | (dom (DataPart p))
by A19, FUNCT_4:76
.=
(Computation (s2 +* p),i) | (dom (DataPart p))
by A6, A17, RELAT_1:188
.=
((Computation (s2 +* p),i) +* (Start-At ((IC (Computation (s2 +* p),i)) + k))) | (dom (DataPart p))
by A20, FUNCT_4:76
.=
(((Computation (s2 +* p),i) +* (Start-At ((IC (Computation (s2 +* p),i)) + k))) +* (s2 | (dom (ProgramPart p)))) | (dom (DataPart p))
by A14, AMI_1:104, FUNCT_4:76
.=
(Computation s2,i) | (dom (DataPart p))
by A5, A18, FUNCT_4:76
;
A22:
(Computation s1,i) | (dom ((Start-At ((IC p) + k)) +* (IncAddr [(Shift (ProgramPart p),k)],k))) =
(Computation s1,i) | ((dom (Start-At ((IC p) + k))) \/ (dom (IncAddr [(Shift (ProgramPart p),k)],k)))
by FUNCT_4:def 1
.=
((Computation s2,i) | (dom (Start-At ((IC p) + k)))) \/ ((Computation s2,i) | (dom (IncAddr [(Shift (ProgramPart p),k)],k)))
by A15, A16, RELAT_1:107
.=
(Computation s2,i) | ((dom (Start-At ((IC p) + k))) \/ (dom (IncAddr [(Shift (ProgramPart p),k)],k)))
by RELAT_1:107
.=
(Computation s2,i) | (dom ((Start-At ((IC p) + k)) +* (IncAddr [(Shift (ProgramPart p),k)],k)))
by FUNCT_4:def 1
;
thus (Computation s1,i) | (dom (Relocated p,k)) =
(Computation s1,i) | ((dom ((Start-At ((IC p) + k)) +* (IncAddr [(Shift (ProgramPart p),k)],k))) \/ (dom (DataPart p)))
by FUNCT_4:def 1
.=
((Computation s2,i) | (dom ((Start-At ((IC p) + k)) +* (IncAddr [(Shift (ProgramPart p),k)],k)))) \/ ((Computation s2,i) | (dom (DataPart p)))
by A21, A22, RELAT_1:107
.=
(Computation s2,i) | ((dom ((Start-At ((IC p) + k)) +* (IncAddr [(Shift (ProgramPart p),k)],k))) \/ (dom (DataPart p)))
by RELAT_1:107
.=
(Computation s2,i) | (dom (Relocated p,k))
by FUNCT_4:def 1
;
:: thesis: verum
end;
end;
assume A23:
Relocated p,k is autonomic
; :: thesis: p is autonomic
thus
p is autonomic
:: thesis: verumproof
let s1,
s2 be
State of
SCM+FSA ;
:: according to AMI_1:def 25 :: thesis: ( not p c= s1 or not p c= s2 or for b1 being Element of NAT holds (Computation s1,b1) | (dom p) = (Computation s2,b1) | (dom p) )
assume A24:
(
p c= s1 &
p c= s2 )
;
:: thesis: for b1 being Element of NAT holds (Computation s1,b1) | (dom p) = (Computation s2,b1) | (dom p)
let i be
Element of
NAT ;
:: thesis: (Computation s1,i) | (dom p) = (Computation s2,i) | (dom p)
A25:
Computation s1,
i = (((Computation (s1 +* (Relocated p,k)),i) +* (Start-At ((IC (Computation (s1 +* (Relocated p,k)),i)) -' k))) +* (s1 | (dom (ProgramPart (Relocated p,k))))) +* (ProgramPart p)
by A1, A23, A24, Th15;
A26:
Computation s2,
i = (((Computation (s2 +* (Relocated p,k)),i) +* (Start-At ((IC (Computation (s2 +* (Relocated p,k)),i)) -' k))) +* (s2 | (dom (ProgramPart (Relocated p,k))))) +* (ProgramPart p)
by A1, A23, A24, Th15;
(
Relocated p,
k c= s1 +* (Relocated p,k) &
Relocated p,
k c= s2 +* (Relocated p,k) )
by FUNCT_4:26;
then A27:
(Computation (s1 +* (Relocated p,k)),i) | (dom (Relocated p,k)) = (Computation (s2 +* (Relocated p,k)),i) | (dom (Relocated p,k))
by A23, AMI_1:def 25;
A28:
dom (Start-At (IC p)) = {(IC SCM+FSA )}
by FUNCOP_1:19;
A29:
dom (Start-At ((IC (Computation (s1 +* (Relocated p,k)),i)) -' k)) = {(IC SCM+FSA )}
by FUNCOP_1:19;
A30:
dom (Start-At ((IC (Computation (s2 +* (Relocated p,k)),i)) -' k)) = {(IC SCM+FSA )}
by FUNCOP_1:19;
IC SCM+FSA in dom (Relocated p,k)
by Th5;
then A31:
{(IC SCM+FSA )} c= dom (Relocated p,k)
by ZFMISC_1:37;
A32:
Start-At (IC (Computation (s1 +* (Relocated p,k)),i)) =
(Computation (s1 +* (Relocated p,k)),i) | {(IC SCM+FSA )}
by AMI_1:95
.=
(Computation (s2 +* (Relocated p,k)),i) | {(IC SCM+FSA )}
by A27, A31, RELAT_1:188
.=
Start-At (IC (Computation (s2 +* (Relocated p,k)),i))
by AMI_1:95
;
A33:
dom (Start-At (IC p)) misses dom (ProgramPart p)
by A28, AMI_1:103;
dom [(ProgramPart (Relocated p,k))] c= the
carrier of
SCM+FSA
by AMI_1:80;
then
dom (ProgramPart (Relocated p,k)) c= dom s1
by AMI_1:79;
then A34:
dom (s1 | (dom (ProgramPart (Relocated p,k)))) = dom (ProgramPart (Relocated p,k))
by RELAT_1:91;
dom [(ProgramPart (Relocated p,k))] c= the
carrier of
SCM+FSA
by AMI_1:80;
then
dom (ProgramPart (Relocated p,k)) c= dom s2
by AMI_1:79;
then A35:
dom (s2 | (dom (ProgramPart (Relocated p,k)))) = dom (ProgramPart (Relocated p,k))
by RELAT_1:91;
A36:
(Computation s1,i) | (dom (Start-At (IC p))) =
(((Computation (s1 +* (Relocated p,k)),i) +* (Start-At ((IC (Computation (s1 +* (Relocated p,k)),i)) -' k))) +* (s1 | (dom (ProgramPart (Relocated p,k))))) | (dom (Start-At (IC p)))
by A25, A33, FUNCT_4:76
.=
((Computation (s1 +* (Relocated p,k)),i) +* (Start-At ((IC (Computation (s1 +* (Relocated p,k)),i)) -' k))) | (dom (Start-At (IC p)))
by A28, A34, AMI_1:103, FUNCT_4:76
.=
Start-At ((IC (Computation (s1 +* (Relocated p,k)),i)) -' k)
by A28, A29, FUNCT_4:24
.=
Start-At ((IC (Computation (s2 +* (Relocated p,k)),i)) -' k)
by A32, SCMNORM:10
.=
((Computation (s2 +* (Relocated p,k)),i) +* (Start-At ((IC (Computation (s2 +* (Relocated p,k)),i)) -' k))) | (dom (Start-At (IC p)))
by A28, A30, FUNCT_4:24
.=
(((Computation (s2 +* (Relocated p,k)),i) +* (Start-At ((IC (Computation (s2 +* (Relocated p,k)),i)) -' k))) +* (s2 | (dom (ProgramPart (Relocated p,k))))) | (dom (Start-At (IC p)))
by A28, A35, AMI_1:103, FUNCT_4:76
.=
(Computation s2,i) | (dom (Start-At (IC p)))
by A26, A33, FUNCT_4:76
;
A37:
(Computation s1,i) | (dom (ProgramPart p)) =
ProgramPart p
by A25, FUNCT_4:24
.=
(Computation s2,i) | (dom (ProgramPart p))
by A26, FUNCT_4:24
;
DataPart (Relocated p,k) c= Relocated p,
k
by RELAT_1:88;
then
DataPart p c= Relocated p,
k
by Th1;
then A38:
dom (DataPart p) c= dom (Relocated p,k)
by GRFUNC_1:8;
A39:
dom (DataPart p) misses dom (ProgramPart p)
by AMI_1:104;
A40:
dom (DataPart p) misses dom (Start-At ((IC (Computation (s1 +* (Relocated p,k)),i)) -' k))
by A29, AMI_1:102;
A41:
dom (DataPart p) misses dom (Start-At ((IC (Computation (s2 +* (Relocated p,k)),i)) -' k))
by A30, AMI_1:102;
A42:
(Computation s1,i) | (dom (DataPart p)) =
(((Computation (s1 +* (Relocated p,k)),i) +* (Start-At ((IC (Computation (s1 +* (Relocated p,k)),i)) -' k))) +* (s1 | (dom (ProgramPart (Relocated p,k))))) | (dom (DataPart p))
by A25, A39, FUNCT_4:76
.=
((Computation (s1 +* (Relocated p,k)),i) +* (Start-At ((IC (Computation (s1 +* (Relocated p,k)),i)) -' k))) | (dom (DataPart p))
by A34, AMI_1:104, FUNCT_4:76
.=
(Computation (s1 +* (Relocated p,k)),i) | (dom (DataPart p))
by A40, FUNCT_4:76
.=
(Computation (s2 +* (Relocated p,k)),i) | (dom (DataPart p))
by A27, A38, RELAT_1:188
.=
((Computation (s2 +* (Relocated p,k)),i) +* (Start-At ((IC (Computation (s2 +* (Relocated p,k)),i)) -' k))) | (dom (DataPart p))
by A41, FUNCT_4:76
.=
(((Computation (s2 +* (Relocated p,k)),i) +* (Start-At ((IC (Computation (s2 +* (Relocated p,k)),i)) -' k))) +* (s2 | (dom (ProgramPart (Relocated p,k))))) | (dom (DataPart p))
by A35, AMI_1:104, FUNCT_4:76
.=
(Computation s2,i) | (dom (DataPart p))
by A26, A39, FUNCT_4:76
;
A43:
(Computation s1,i) | (dom ((Start-At (IC p)) +* (ProgramPart p))) =
(Computation s1,i) | ((dom (Start-At (IC p))) \/ (dom (ProgramPart p)))
by FUNCT_4:def 1
.=
((Computation s2,i) | (dom (Start-At (IC p)))) \/ ((Computation s2,i) | (dom (ProgramPart p)))
by A36, A37, RELAT_1:107
.=
(Computation s2,i) | ((dom (Start-At (IC p))) \/ (dom (ProgramPart p)))
by RELAT_1:107
.=
(Computation s2,i) | (dom ((Start-At (IC p)) +* (ProgramPart p)))
by FUNCT_4:def 1
;
thus (Computation s1,i) | (dom p) =
(Computation s1,i) | (dom (((Start-At (IC p)) +* (ProgramPart p)) +* (DataPart p)))
by A1, AMI_1:108
.=
(Computation s1,i) | ((dom ((Start-At (IC p)) +* (ProgramPart p))) \/ (dom (DataPart p)))
by FUNCT_4:def 1
.=
((Computation s2,i) | (dom ((Start-At (IC p)) +* (ProgramPart p)))) \/ ((Computation s2,i) | (dom (DataPart p)))
by A42, A43, RELAT_1:107
.=
(Computation s2,i) | ((dom ((Start-At (IC p)) +* (ProgramPart p))) \/ (dom (DataPart p)))
by RELAT_1:107
.=
(Computation s2,i) | (dom (((Start-At (IC p)) +* (ProgramPart p)) +* (DataPart p)))
by FUNCT_4:def 1
.=
(Computation s2,i) | (dom p)
by A1, AMI_1:108
;
:: thesis: verum
end;