let s be State of SCM+FSA; for P being the Instructions of SCM+FSA -valued ManySortedSet of NAT
for I being parahalting keeping_0 Program of SCM+FSA
for J being parahalting Program of SCM+FSA holds IExec ((I ';' J),P,s) = (IExec (J,P,(IExec (I,P,s)))) +* (Start-At (((IC (IExec (J,P,(IExec (I,P,s))))) + (card I)),SCM+FSA))
let P be the Instructions of SCM+FSA -valued ManySortedSet of NAT ; for I being parahalting keeping_0 Program of SCM+FSA
for J being parahalting Program of SCM+FSA holds IExec ((I ';' J),P,s) = (IExec (J,P,(IExec (I,P,s)))) +* (Start-At (((IC (IExec (J,P,(IExec (I,P,s))))) + (card I)),SCM+FSA))
set D = Int-Locations \/ FinSeq-Locations;
set A = NAT ;
let I be parahalting keeping_0 Program of SCM+FSA; for J being parahalting Program of SCM+FSA holds IExec ((I ';' J),P,s) = (IExec (J,P,(IExec (I,P,s)))) +* (Start-At (((IC (IExec (J,P,(IExec (I,P,s))))) + (card I)),SCM+FSA))
let J be parahalting Program of SCM+FSA; IExec ((I ';' J),P,s) = (IExec (J,P,(IExec (I,P,s)))) +* (Start-At (((IC (IExec (J,P,(IExec (I,P,s))))) + (card I)),SCM+FSA))
set ps = ProgramPart s;
set s1 = s +* (Initialized I);
set P1 = P +* I;
A1:
I c= P +* I
by FUNCT_4:26;
set s2 = s +* (Initialized (I ';' J));
set P2 = P +* (I ';' J);
set s3 = (Comput ((P +* I),(s +* (Initialized I)),(LifeSpan ((P +* I),(s +* (Initialized I)))))) +* (Initialized J);
set P3 = (P +* I) +* J;
set m1 = LifeSpan ((P +* I),(s +* (Initialized I)));
set m3 = LifeSpan (((P +* I) +* J),((Comput ((P +* I),(s +* (Initialized I)),(LifeSpan ((P +* I),(s +* (Initialized I)))))) +* (Initialized J)));
A2:
Initialized (I ';' J) c= s +* (Initialized (I ';' J))
by FUNCT_4:26;
Initialize I c= (s +* (Initialized (I ';' J))) +* (Initialize I)
by FUNCT_4:26;
then
Initialize I c= Initialize ((s +* (Initialized (I ';' J))) +* I)
by FUNCT_4:15;
then A3:
Initialize I c= (Initialize (s +* (Initialized (I ';' J)))) +* I
by COMPOS_1:83;
A4: (s +* (Initialized I)) +* (I ';' J) =
s +* ((Initialized I) +* (I ';' J))
by FUNCT_4:15
.=
s +* (Initialized (I ';' J))
by SCMFSA6A:58
;
A5:
I c= P +* I
by FUNCT_4:26;
Initialized I c= s +* (Initialized I)
by FUNCT_4:26;
then A6:
P +* I halts_on s +* (Initialized I)
by Th19, A5;
A7:
Initialize J c= (Comput ((P +* I),(s +* (Initialized I)),(LifeSpan ((P +* I),(s +* (Initialized I)))))) +* (Initialized J)
by Th8, FUNCT_4:26;
A8:
(Comput ((P +* I),(s +* (Initialized I)),(LifeSpan ((P +* I),(s +* (Initialized I)))))) +* (Initialized J),((Comput ((P +* I),(s +* (Initialized I)),(LifeSpan ((P +* I),(s +* (Initialized I)))))) +* (ProgramPart s)) +* (Initialized J) equal_outside dom (ProgramPart s)
by FUNCT_7:31, FUNCT_7:106;
then A9:
((Comput ((P +* I),(s +* (Initialized I)),(LifeSpan ((P +* I),(s +* (Initialized I)))))) +* (ProgramPart s)) +* (Initialized J),(Comput ((P +* I),(s +* (Initialized I)),(LifeSpan ((P +* I),(s +* (Initialized I)))))) +* (Initialized J) equal_outside dom (ProgramPart s)
by FUNCT_7:28;
A10:
dom (ProgramPart s) = NAT
by COMPOS_1:34;
then A11:
dom (ProgramPart s) misses Int-Locations \/ FinSeq-Locations
by SCMFSA_2:13, SCMFSA_2:14, XBOOLE_1:70;
Initialized I c= (s +* (Initialized (I ';' J))) +* I
by FUNCT_4:26, SCMFSA6A:52;
then A12:
Initialize I c= (s +* (Initialized (I ';' J))) +* I
by Th8;
A13:
Initialize I c= s +* (Initialized I)
by Th8, FUNCT_4:26;
A14:
I c= (P +* (I ';' J)) +* I
by FUNCT_4:26;
A15:
I ';' J c= P +* (I ';' J)
by FUNCT_4:26;
( s +* (Initialized I),s +* (Initialized (I ';' J)) equal_outside NAT & s +* (Initialized (I ';' J)),(s +* (Initialized (I ';' J))) +* I equal_outside NAT )
by FUNCT_7:132, SCMFSA6A:53;
then
s +* (Initialized I),(s +* (Initialized (I ';' J))) +* I equal_outside NAT
by FUNCT_7:29;
then A16:
LifeSpan (((P +* (I ';' J)) +* I),((s +* (Initialized (I ';' J))) +* I)) = LifeSpan ((P +* I),(s +* (Initialized I)))
by A13, A12, Th29, A1, A14;
A17:
Reloc (J,(card I)) c= P +* (I ';' J)
by A2, Lm5, A15;
A18:
I +* (I ';' J) = I ';' J
by SCMFSA6A:57;
A19:
((s +* (Initialized (I ';' J))) +* I) +* (I ';' J) = (s +* (Initialized (I ';' J))) +* (I +* (I ';' J))
by FUNCT_4:15;
A20:
(s +* (Initialized (I ';' J))) +* (I ';' J) = s +* ((Initialized (I ';' J)) +* (I ';' J))
by FUNCT_4:15;
I ';' J c= Initialized (I ';' J)
by SCMFSA6A:26;
then A21:
(Initialized (I ';' J)) +* (I ';' J) = Initialized (I ';' J)
by LATTICE2:8;
A22:
I c= P +* I
by FUNCT_4:26;
Initialized I c= s +* (Initialized I)
by FUNCT_4:26;
then A23:
P +* I halts_on s +* (Initialized I)
by Th19, A22;
then A24:
(Comput ((P +* I),(s +* (Initialized I)),(LifeSpan ((P +* I),(s +* (Initialized I)))))) +* (Initialized J) = (Result ((P +* I),(s +* (Initialized I)))) +* (Initialized J)
by EXTPRO_1:23;
A25:
I c= (P +* (I ';' J)) +* I
by FUNCT_4:26;
A26: ((P +* (I ';' J)) +* I) +* (I ';' J) =
(P +* (I ';' J)) +* (I +* (I ';' J))
by FUNCT_4:15
.=
P +* ((I ';' J) +* (I +* (I ';' J)))
by FUNCT_4:15
.=
P +* ((I ';' J) +* (I ';' J))
by SCMFSA6A:57
;
A27:
I c= P +* I
by FUNCT_4:26;
A28: (P +* I) +* (I ';' J) =
P +* (I +* (I ';' J))
by FUNCT_4:15
.=
P +* ((I ';' J) +* (I ';' J))
by SCMFSA6A:57
;
Initialized (I ';' J) = Initialize ((I ';' J) +* ((intloc 0) .--> 1))
by FUNCT_4:15;
then
( Start-At (0,SCM+FSA) c= Initialized (I ';' J) & Initialized (I ';' J) c= s +* (Initialized (I ';' J)) )
by FUNCT_4:26;
then
Start-At (0,SCM+FSA) c= s +* (Initialized (I ';' J))
by XBOOLE_1:1;
then A29:
Initialize I c= (s +* (Initialized (I ';' J))) +* I
by A3, FUNCT_4:79;
(P +* (I ';' J)) +* I halts_on (s +* (Initialized (I ';' J))) +* I
by Th18, A29, FUNCT_4:26;
then DataPart (Comput (((P +* (I ';' J)) +* I),((s +* (Initialized (I ';' J))) +* I),(LifeSpan ((P +* I),(s +* (Initialized I)))))) =
DataPart (Comput ((P +* ((I ';' J) +* (I ';' J))),(s +* ((Initialized (I ';' J)) +* (I ';' J))),(LifeSpan ((P +* I),(s +* (Initialized I))))))
by A18, A20, A19, COMPOS_1:138, A26, Th36, A25, A29, A16
.=
DataPart (Comput ((P +* I),(s +* (Initialized I)),(LifeSpan ((P +* I),(s +* (Initialized I))))))
by A6, A13, A4, Th36, COMPOS_1:138, A21, A27, A28
;
then A30: DataPart ((Comput (((P +* (I ';' J)) +* I),((s +* (Initialized (I ';' J))) +* I),(LifeSpan ((P +* I),(s +* (Initialized I)))))) +* (Initialized J)) =
(DataPart (Comput ((P +* I),(s +* (Initialized I)),(LifeSpan ((P +* I),(s +* (Initialized I))))))) +* (DataPart (Initialized J))
by FUNCT_4:75
.=
DataPart ((Comput ((P +* I),(s +* (Initialized I)),(LifeSpan ((P +* I),(s +* (Initialized I)))))) +* (Initialized J))
by FUNCT_4:75
;
A31:
J c= (P +* I) +* J
by FUNCT_4:26;
A32:
( IC (Comput ((P +* (I ';' J)),(s +* (Initialized (I ';' J))),((LifeSpan ((P +* I),(s +* (Initialized I)))) + 1))) = card I & DataPart (Comput ((P +* (I ';' J)),(s +* (Initialized (I ';' J))),((LifeSpan ((P +* I),(s +* (Initialized I)))) + 1))) = DataPart ((Comput (((P +* (I ';' J)) +* I),((s +* (Initialized (I ';' J))) +* I),(LifeSpan ((P +* I),(s +* (Initialized I)))))) +* (Initialized J)) )
by A2, A16, Lm5, A15;
then A33:
DataPart (Comput ((P +* (I ';' J)),(Comput ((P +* (I ';' J)),(s +* (Initialized (I ';' J))),((LifeSpan ((P +* I),(s +* (Initialized I)))) + 1))),(LifeSpan (((P +* I) +* J),((Comput ((P +* I),(s +* (Initialized I)),(LifeSpan ((P +* I),(s +* (Initialized I)))))) +* (Initialized J)))))) = DataPart (Comput (((P +* I) +* J),((Comput ((P +* I),(s +* (Initialized I)),(LifeSpan ((P +* I),(s +* (Initialized I)))))) +* (Initialized J)),(LifeSpan (((P +* I) +* J),((Comput ((P +* I),(s +* (Initialized I)),(LifeSpan ((P +* I),(s +* (Initialized I)))))) +* (Initialized J))))))
by A7, A30, Th27, A31, A17;
A34:
IC (Comput ((P +* (I ';' J)),(Comput ((P +* (I ';' J)),(s +* (Initialized (I ';' J))),((LifeSpan ((P +* I),(s +* (Initialized I)))) + 1))),(LifeSpan (((P +* I) +* J),((Comput ((P +* I),(s +* (Initialized I)),(LifeSpan ((P +* I),(s +* (Initialized I)))))) +* (Initialized J)))))) = (IC (Comput (((P +* I) +* J),((Comput ((P +* I),(s +* (Initialized I)),(LifeSpan ((P +* I),(s +* (Initialized I)))))) +* (Initialized J)),(LifeSpan (((P +* I) +* J),((Comput ((P +* I),(s +* (Initialized I)),(LifeSpan ((P +* I),(s +* (Initialized I)))))) +* (Initialized J))))))) + (card I)
by A32, A7, A30, Th27, A17, A31;
A35:
( Initialize J c= (Result ((P +* I),(s +* (Initialized I)))) +* (Initialized J) & Initialize J c= (IExec (I,P,s)) +* (Initialized J) )
by Th8, FUNCT_4:26;
A36:
( Initialize J c= (IExec (I,P,s)) +* (Initialized J) & Initialize J c= (Comput ((P +* I),(s +* (Initialized I)),(LifeSpan ((P +* I),(s +* (Initialized I)))))) +* (Initialized J) )
by Th8, FUNCT_4:26;
A37:
J c= (P +* I) +* J
by FUNCT_4:26;
Initialized J c= (Comput ((P +* I),(s +* (Initialized I)),(LifeSpan ((P +* I),(s +* (Initialized I)))))) +* (Initialized J)
by FUNCT_4:26;
then A38:
(P +* I) +* J halts_on (Comput ((P +* I),(s +* (Initialized I)),(LifeSpan ((P +* I),(s +* (Initialized I)))))) +* (Initialized J)
by Th19, A37;
A39:
J c= (P +* I) +* J
by FUNCT_4:26;
A40:
J c= P +* J
by FUNCT_4:26;
Result ((P +* I),(s +* (Initialized I))) = Comput ((P +* I),(s +* (Initialized I)),(LifeSpan ((P +* I),(s +* (Initialized I)))))
by A23, EXTPRO_1:23;
then A41:
IC (Result (((P +* I) +* J),((Result ((P +* I),(s +* (Initialized I)))) +* (Initialized J)))) = IC (Result ((P +* J),((IExec (I,P,s)) +* (Initialized J))))
by A10, A8, A35, Th29, COMPOS_1:24, A39, A40;
A42:
(IExec (I,P,s)) | NAT = ProgramPart s
by PBOOLE:157;
IExec (I,P,s) = (Comput ((P +* I),(s +* (Initialized I)),(LifeSpan ((P +* I),(s +* (Initialized I)))))) +* (ProgramPart s)
by A23, EXTPRO_1:23;
then
Result ((P +* J),((IExec (I,P,s)) +* (Initialized J))), Result (((P +* I) +* J),((Comput ((P +* I),(s +* (Initialized I)),(LifeSpan ((P +* I),(s +* (Initialized I)))))) +* (Initialized J))) equal_outside NAT
by A10, A9, A36, Th29, A40, A37;
then
(Result ((P +* J),((IExec (I,P,s)) +* (Initialized J)))) +* (ProgramPart s) = (Result (((P +* I) +* J),((Comput ((P +* I),(s +* (Initialized I)),(LifeSpan ((P +* I),(s +* (Initialized I)))))) +* (Initialized J)))) +* (ProgramPart s)
by A10, FUNCT_7:108;
then A43:
IExec (J,P,(IExec (I,P,s))) = (Comput (((P +* I) +* J),((Comput ((P +* I),(s +* (Initialized I)),(LifeSpan ((P +* I),(s +* (Initialized I)))))) +* (Initialized J)),(LifeSpan (((P +* I) +* J),((Comput ((P +* I),(s +* (Initialized I)),(LifeSpan ((P +* I),(s +* (Initialized I)))))) +* (Initialized J)))))) +* (ProgramPart s)
by A42, A38, EXTPRO_1:23;
A44:
Comput ((P +* I),(s +* (Initialized I)),(LifeSpan ((P +* I),(s +* (Initialized I))))) = Result ((P +* I),(s +* (Initialized I)))
by A23, EXTPRO_1:23;
I ';' J c= P +* (I ';' J)
by FUNCT_4:26;
then A45:
P +* (I ';' J) halts_on s +* (Initialized (I ';' J))
by A2, Th19;
then IExec ((I ';' J),P,s) =
(Comput ((P +* (I ';' J)),(s +* (Initialized (I ';' J))),(LifeSpan ((P +* (I ';' J)),(s +* (Initialized (I ';' J))))))) +* (ProgramPart s)
by EXTPRO_1:23
.=
(Comput ((P +* (I ';' J)),(s +* (Initialized (I ';' J))),(((LifeSpan ((P +* I),(s +* (Initialized I)))) + 1) + (LifeSpan (((P +* I) +* J),((Comput ((P +* I),(s +* (Initialized I)),(LifeSpan ((P +* I),(s +* (Initialized I)))))) +* (Initialized J))))))) +* (ProgramPart s)
by A24, Th43
;
then A46: DataPart (IExec ((I ';' J),P,s)) =
DataPart (Comput ((P +* (I ';' J)),(s +* (Initialized (I ';' J))),(((LifeSpan ((P +* I),(s +* (Initialized I)))) + 1) + (LifeSpan (((P +* I) +* J),((Comput ((P +* I),(s +* (Initialized I)),(LifeSpan ((P +* I),(s +* (Initialized I)))))) +* (Initialized J)))))))
by A11, FUNCT_4:76, SCMFSA_2:127
.=
DataPart (Comput (((P +* I) +* J),((Comput ((P +* I),(s +* (Initialized I)),(LifeSpan ((P +* I),(s +* (Initialized I)))))) +* (Initialized J)),(LifeSpan (((P +* I) +* J),((Comput ((P +* I),(s +* (Initialized I)),(LifeSpan ((P +* I),(s +* (Initialized I)))))) +* (Initialized J))))))
by A33, EXTPRO_1:5
.=
DataPart (IExec (J,P,(IExec (I,P,s))))
by A43, A11, FUNCT_4:76, SCMFSA_2:127
;
A47: IC (IExec ((I ';' J),P,s)) =
IC (Result ((P +* (I ';' J)),(s +* (Initialized (I ';' J)))))
by Th30
.=
IC (Comput ((P +* (I ';' J)),(s +* (Initialized (I ';' J))),(LifeSpan ((P +* (I ';' J)),(s +* (Initialized (I ';' J)))))))
by A45, EXTPRO_1:23
.=
IC (Comput ((P +* (I ';' J)),(s +* (Initialized (I ';' J))),(((LifeSpan ((P +* I),(s +* (Initialized I)))) + 1) + (LifeSpan (((P +* I) +* J),((Comput ((P +* I),(s +* (Initialized I)),(LifeSpan ((P +* I),(s +* (Initialized I)))))) +* (Initialized J)))))))
by A24, Th43
.=
(IC (Comput (((P +* I) +* J),((Comput ((P +* I),(s +* (Initialized I)),(LifeSpan ((P +* I),(s +* (Initialized I)))))) +* (Initialized J)),(LifeSpan (((P +* I) +* J),((Comput ((P +* I),(s +* (Initialized I)),(LifeSpan ((P +* I),(s +* (Initialized I)))))) +* (Initialized J))))))) + (card I)
by A34, EXTPRO_1:5
.=
(IC (Result (((P +* I) +* J),((Comput ((P +* I),(s +* (Initialized I)),(LifeSpan ((P +* I),(s +* (Initialized I)))))) +* (Initialized J))))) + (card I)
by A38, EXTPRO_1:23
.=
(IC (Result (((P +* I) +* J),((Result ((P +* I),(s +* (Initialized I)))) +* (Initialized J))))) + (card I)
by A44
.=
(IC (IExec (J,P,(IExec (I,P,s))))) + (card I)
by A41, Th30
;
hereby verum
reconsider l =
(IC (IExec (J,P,(IExec (I,P,s))))) + (card I) as
Element of
NAT ;
A48:
dom (Start-At (l,SCM+FSA)) = {(IC )}
by FUNCOP_1:19;
A49:
now let x be
set ;
( x in dom (IExec ((I ';' J),P,s)) implies (IExec ((I ';' J),P,s)) . b1 = ((IExec (J,P,(IExec (I,P,s)))) +* (Start-At (((IC (IExec (J,P,(IExec (I,P,s))))) + (card I)),SCM+FSA))) . b1 )assume A50:
x in dom (IExec ((I ';' J),P,s))
;
(IExec ((I ';' J),P,s)) . b1 = ((IExec (J,P,(IExec (I,P,s)))) +* (Start-At (((IC (IExec (J,P,(IExec (I,P,s))))) + (card I)),SCM+FSA))) . b1per cases
( x is Int-Location or x is FinSeq-Location or x = IC or x is Element of NAT )
by A50, SCMFSA6A:35;
suppose A51:
x is
Int-Location
;
(IExec ((I ';' J),P,s)) . b1 = ((IExec (J,P,(IExec (I,P,s)))) +* (Start-At (((IC (IExec (J,P,(IExec (I,P,s))))) + (card I)),SCM+FSA))) . b1then
x <> IC
by SCMFSA_2:81;
then A52:
not
x in dom (Start-At (l,SCM+FSA))
by A48, TARSKI:def 1;
(IExec ((I ';' J),P,s)) . x = (IExec (J,P,(IExec (I,P,s)))) . x
by A46, A51, SCMFSA6A:38;
hence
(IExec ((I ';' J),P,s)) . x = ((IExec (J,P,(IExec (I,P,s)))) +* (Start-At (((IC (IExec (J,P,(IExec (I,P,s))))) + (card I)),SCM+FSA))) . x
by A52, FUNCT_4:12;
verum end; suppose A53:
x is
FinSeq-Location
;
(IExec ((I ';' J),P,s)) . b1 = ((IExec (J,P,(IExec (I,P,s)))) +* (Start-At (((IC (IExec (J,P,(IExec (I,P,s))))) + (card I)),SCM+FSA))) . b1then
x <> IC
by SCMFSA_2:82;
then A54:
not
x in dom (Start-At (l,SCM+FSA))
by A48, TARSKI:def 1;
(IExec ((I ';' J),P,s)) . x = (IExec (J,P,(IExec (I,P,s)))) . x
by A46, A53, SCMFSA6A:38;
hence
(IExec ((I ';' J),P,s)) . x = ((IExec (J,P,(IExec (I,P,s)))) +* (Start-At (((IC (IExec (J,P,(IExec (I,P,s))))) + (card I)),SCM+FSA))) . x
by A54, FUNCT_4:12;
verum end; suppose A55:
x = IC
;
(IExec ((I ';' J),P,s)) . b1 = ((IExec (J,P,(IExec (I,P,s)))) +* (Start-At (((IC (IExec (J,P,(IExec (I,P,s))))) + (card I)),SCM+FSA))) . b1then
x in {(IC )}
by TARSKI:def 1;
then A56:
x in dom (Start-At (l,SCM+FSA))
by FUNCOP_1:19;
thus (IExec ((I ';' J),P,s)) . x =
(Start-At (l,SCM+FSA)) . (IC )
by A47, A55, FUNCOP_1:87
.=
((IExec (J,P,(IExec (I,P,s)))) +* (Start-At (((IC (IExec (J,P,(IExec (I,P,s))))) + (card I)),SCM+FSA))) . x
by A55, A56, FUNCT_4:14
;
verum end; suppose A57:
x is
Element of
NAT
;
(IExec ((I ';' J),P,s)) . b1 = ((IExec (J,P,(IExec (I,P,s)))) +* (Start-At (((IC (IExec (J,P,(IExec (I,P,s))))) + (card I)),SCM+FSA))) . b1then
x <> IC
by COMPOS_1:3;
then A58:
not
x in dom (Start-At (l,SCM+FSA))
by A48, TARSKI:def 1;
(IExec ((I ';' J),P,s)) | NAT =
ProgramPart s
by PBOOLE:157
.=
(IExec (J,P,(IExec (I,P,s)))) | NAT
by A42, PBOOLE:157
;
then
(IExec ((I ';' J),P,s)) . x = (IExec (J,P,(IExec (I,P,s)))) . x
by A57, SCMFSA6A:36;
hence
(IExec ((I ';' J),P,s)) . x = ((IExec (J,P,(IExec (I,P,s)))) +* (Start-At (((IC (IExec (J,P,(IExec (I,P,s))))) + (card I)),SCM+FSA))) . x
by A58, FUNCT_4:12;
verum end; end; end; dom (IExec ((I ';' J),P,s)) =
the
carrier of
SCM+FSA
by PARTFUN1:def 4
.=
dom ((IExec (J,P,(IExec (I,P,s)))) +* (Start-At (((IC (IExec (J,P,(IExec (I,P,s))))) + (card I)),SCM+FSA)))
by PARTFUN1:def 4
;
hence
IExec (
(I ';' J),
P,
s)
= (IExec (J,P,(IExec (I,P,s)))) +* (Start-At (((IC (IExec (J,P,(IExec (I,P,s))))) + (card I)),SCM+FSA))
by A49, FUNCT_1:9;
verum
end;