let s be State of SCMPDS ; for I being halt-free parahalting Program of SCMPDS
for J being parahalting shiftable Program of SCMPDS holds LifeSpan (ProgramPart ((Initialize s) +* (stop (I ';' J)))),((Initialize s) +* (stop (I ';' J))) = (LifeSpan (ProgramPart ((Initialize s) +* (stop I))),((Initialize s) +* (stop I))) + (LifeSpan (ProgramPart ((Initialize (Result (ProgramPart ((Initialize s) +* (stop I))),((Initialize s) +* (stop I)))) +* (stop J))),((Initialize (Result (ProgramPart ((Initialize s) +* (stop I))),((Initialize s) +* (stop I)))) +* (stop J)))
set SA0 = Start-At 0 ,SCMPDS ;
let I be halt-free parahalting Program of SCMPDS ; for J being parahalting shiftable Program of SCMPDS holds LifeSpan (ProgramPart ((Initialize s) +* (stop (I ';' J)))),((Initialize s) +* (stop (I ';' J))) = (LifeSpan (ProgramPart ((Initialize s) +* (stop I))),((Initialize s) +* (stop I))) + (LifeSpan (ProgramPart ((Initialize (Result (ProgramPart ((Initialize s) +* (stop I))),((Initialize s) +* (stop I)))) +* (stop J))),((Initialize (Result (ProgramPart ((Initialize s) +* (stop I))),((Initialize s) +* (stop I)))) +* (stop J)))
let J be parahalting shiftable Program of SCMPDS ; LifeSpan (ProgramPart ((Initialize s) +* (stop (I ';' J)))),((Initialize s) +* (stop (I ';' J))) = (LifeSpan (ProgramPart ((Initialize s) +* (stop I))),((Initialize s) +* (stop I))) + (LifeSpan (ProgramPart ((Initialize (Result (ProgramPart ((Initialize s) +* (stop I))),((Initialize s) +* (stop I)))) +* (stop J))),((Initialize (Result (ProgramPart ((Initialize s) +* (stop I))),((Initialize s) +* (stop I)))) +* (stop J)))
set sI = stop I;
set sIJ = stop (I ';' J);
set s1 = (Initialize s) +* (stop (I ';' J));
set s2 = (Initialize s) +* (stop I);
I1:
(Initialize s) +* (stop (I ';' J)) = s +* (Initialize (stop (I ';' J)))
by SCMPDS_4:5;
I2:
(Initialize s) +* (stop I) = s +* (Initialize (stop I))
by SCMPDS_4:5;
A1:
Initialize (stop (I ';' J)) c= (Initialize s) +* (stop (I ';' J))
by I1, FUNCT_4:26;
set s3 = (Initialize (Result (ProgramPart ((Initialize ((Initialize s) +* (stop (I ';' J)))) +* (stop I))),((Initialize ((Initialize s) +* (stop (I ';' J)))) +* (stop I)))) +* (stop J);
set s4 = (Initialize (Result (ProgramPart ((Initialize s) +* (stop I))),((Initialize s) +* (stop I)))) +* (stop J);
I5:
(Result (ProgramPart ((Initialize s) +* (stop I))),((Initialize s) +* (stop I))) +* (Initialize (stop J)) = (Initialize (Result (ProgramPart ((Initialize s) +* (stop I))),((Initialize s) +* (stop I)))) +* (stop J)
by SCMPDS_4:5;
I3:
(Result (ProgramPart ((Initialize ((Initialize s) +* (stop (I ';' J)))) +* (stop I))),((Initialize ((Initialize s) +* (stop (I ';' J)))) +* (stop I))) +* (Initialize (stop J)) = (Initialize (Result (ProgramPart ((Initialize ((Initialize s) +* (stop (I ';' J)))) +* (stop I))),((Initialize ((Initialize s) +* (stop (I ';' J)))) +* (stop I)))) +* (stop J)
by SCMPDS_4:5;
A2:
Initialize (stop I) c= (Initialize s) +* (stop I)
by I2, FUNCT_4:26;
I4:
((Initialize s) +* (stop (I ';' J))) +* (Initialize (stop I)) = (Initialize ((Initialize s) +* (stop (I ';' J)))) +* (stop I)
by SCMPDS_4:5;
(Initialize ((Initialize s) +* (stop (I ';' J)))) +* (stop I) = ((Initialize s) +* (stop (I ';' J))) +* (stop I)
by I1, FUNCT_4:26, SCMPDS_4:34;
then A3:
(Initialize s) +* (stop (I ';' J)),(Initialize ((Initialize s) +* (stop (I ';' J)))) +* (stop I) equal_outside NAT
by FUNCT_7:132;
A4:
Initialize (stop J) c= (Initialize (Result (ProgramPart ((Initialize s) +* (stop I))),((Initialize s) +* (stop I)))) +* (stop J)
by I5, FUNCT_4:26;
A5:
(Initialize s) +* (stop I),s +* (Start-At 0 ,SCMPDS ) equal_outside NAT
by FUNCT_7:28, FUNCT_7:132;
A6:
Initialize (stop J) c= (Initialize (Result (ProgramPart ((Initialize ((Initialize s) +* (stop (I ';' J)))) +* (stop I))),((Initialize ((Initialize s) +* (stop (I ';' J)))) +* (stop I)))) +* (stop J)
by I3, FUNCT_4:26;
s +* (Start-At 0 ,SCMPDS ),(Initialize s) +* (stop (I ';' J)) equal_outside NAT
by FUNCT_7:132;
then
(Initialize s) +* (stop I),(Initialize s) +* (stop (I ';' J)) equal_outside NAT
by A5, FUNCT_7:29;
then A7:
(Initialize s) +* (stop I),((Initialize s) +* (stop (I ';' J))) +* (Initialize (stop I)) equal_outside NAT
by A3, I4, FUNCT_7:29;
A8:
Initialize (stop I) c= (Initialize ((Initialize s) +* (stop (I ';' J)))) +* (stop I)
by I4, FUNCT_4:26;
then
Result (ProgramPart ((Initialize s) +* (stop I))),((Initialize s) +* (stop I)), Result (ProgramPart ((Initialize ((Initialize s) +* (stop (I ';' J)))) +* (stop I))),((Initialize ((Initialize s) +* (stop (I ';' J)))) +* (stop I)) equal_outside NAT
by A7, A2, Th21, I4;
then
(Initialize (Result (ProgramPart ((Initialize s) +* (stop I))),((Initialize s) +* (stop I)))) +* (stop J),(Initialize (Result (ProgramPart ((Initialize ((Initialize s) +* (stop (I ';' J)))) +* (stop I))),((Initialize ((Initialize s) +* (stop (I ';' J)))) +* (stop I)))) +* (stop J) equal_outside NAT
by I3, I5, FUNCT_7:106;
then A9:
LifeSpan (ProgramPart ((Initialize (Result (ProgramPart ((Initialize ((Initialize s) +* (stop (I ';' J)))) +* (stop I))),((Initialize ((Initialize s) +* (stop (I ';' J)))) +* (stop I)))) +* (stop J))),((Initialize (Result (ProgramPart ((Initialize ((Initialize s) +* (stop (I ';' J)))) +* (stop I))),((Initialize ((Initialize s) +* (stop (I ';' J)))) +* (stop I)))) +* (stop J)) = LifeSpan (ProgramPart ((Initialize (Result (ProgramPart ((Initialize s) +* (stop I))),((Initialize s) +* (stop I)))) +* (stop J))),((Initialize (Result (ProgramPart ((Initialize s) +* (stop I))),((Initialize s) +* (stop I)))) +* (stop J))
by A6, A4, Th21;
LifeSpan (ProgramPart ((Initialize ((Initialize s) +* (stop (I ';' J)))) +* (stop I))),((Initialize ((Initialize s) +* (stop (I ';' J)))) +* (stop I)) = LifeSpan (ProgramPart ((Initialize s) +* (stop I))),((Initialize s) +* (stop I))
by A7, A8, A2, Th21, I4;
hence
LifeSpan (ProgramPart ((Initialize s) +* (stop (I ';' J)))),((Initialize s) +* (stop (I ';' J))) = (LifeSpan (ProgramPart ((Initialize s) +* (stop I))),((Initialize s) +* (stop I))) + (LifeSpan (ProgramPart ((Initialize (Result (ProgramPart ((Initialize s) +* (stop I))),((Initialize s) +* (stop I)))) +* (stop J))),((Initialize (Result (ProgramPart ((Initialize s) +* (stop I))),((Initialize s) +* (stop I)))) +* (stop J)))
by A1, A9, Lm3; verum