let s be State of SCM+FSA ; for I being Program of SCM+FSA st I is_closed_on s & I is_halting_on s holds
for m being Element of NAT st m < LifeSpan (ProgramPart (s +* (I +* (Start-At 0 ,SCM+FSA )))),(s +* (I +* (Start-At 0 ,SCM+FSA ))) holds
CurInstr (ProgramPart (Comput (ProgramPart (s +* (I +* (Start-At 0 ,SCM+FSA )))),(s +* (I +* (Start-At 0 ,SCM+FSA ))),m)),(Comput (ProgramPart (s +* (I +* (Start-At 0 ,SCM+FSA )))),(s +* (I +* (Start-At 0 ,SCM+FSA ))),m) = CurInstr (ProgramPart (Comput (ProgramPart (s +* ((loop I) +* (Start-At 0 ,SCM+FSA )))),(s +* ((loop I) +* (Start-At 0 ,SCM+FSA ))),m)),(Comput (ProgramPart (s +* ((loop I) +* (Start-At 0 ,SCM+FSA )))),(s +* ((loop I) +* (Start-At 0 ,SCM+FSA ))),m)
let I be Program of SCM+FSA ; ( I is_closed_on s & I is_halting_on s implies for m being Element of NAT st m < LifeSpan (ProgramPart (s +* (I +* (Start-At 0 ,SCM+FSA )))),(s +* (I +* (Start-At 0 ,SCM+FSA ))) holds
CurInstr (ProgramPart (Comput (ProgramPart (s +* (I +* (Start-At 0 ,SCM+FSA )))),(s +* (I +* (Start-At 0 ,SCM+FSA ))),m)),(Comput (ProgramPart (s +* (I +* (Start-At 0 ,SCM+FSA )))),(s +* (I +* (Start-At 0 ,SCM+FSA ))),m) = CurInstr (ProgramPart (Comput (ProgramPart (s +* ((loop I) +* (Start-At 0 ,SCM+FSA )))),(s +* ((loop I) +* (Start-At 0 ,SCM+FSA ))),m)),(Comput (ProgramPart (s +* ((loop I) +* (Start-At 0 ,SCM+FSA )))),(s +* ((loop I) +* (Start-At 0 ,SCM+FSA ))),m) )
set s1 = s +* (I +* (Start-At 0 ,SCM+FSA ));
set s2 = s +* ((loop I) +* (Start-At 0 ,SCM+FSA ));
assume that
A1:
I is_closed_on s
and
A2:
I is_halting_on s
; for m being Element of NAT st m < LifeSpan (ProgramPart (s +* (I +* (Start-At 0 ,SCM+FSA )))),(s +* (I +* (Start-At 0 ,SCM+FSA ))) holds
CurInstr (ProgramPart (Comput (ProgramPart (s +* (I +* (Start-At 0 ,SCM+FSA )))),(s +* (I +* (Start-At 0 ,SCM+FSA ))),m)),(Comput (ProgramPart (s +* (I +* (Start-At 0 ,SCM+FSA )))),(s +* (I +* (Start-At 0 ,SCM+FSA ))),m) = CurInstr (ProgramPart (Comput (ProgramPart (s +* ((loop I) +* (Start-At 0 ,SCM+FSA )))),(s +* ((loop I) +* (Start-At 0 ,SCM+FSA ))),m)),(Comput (ProgramPart (s +* ((loop I) +* (Start-At 0 ,SCM+FSA )))),(s +* ((loop I) +* (Start-At 0 ,SCM+FSA ))),m)
let m be Element of NAT ; ( m < LifeSpan (ProgramPart (s +* (I +* (Start-At 0 ,SCM+FSA )))),(s +* (I +* (Start-At 0 ,SCM+FSA ))) implies CurInstr (ProgramPart (Comput (ProgramPart (s +* (I +* (Start-At 0 ,SCM+FSA )))),(s +* (I +* (Start-At 0 ,SCM+FSA ))),m)),(Comput (ProgramPart (s +* (I +* (Start-At 0 ,SCM+FSA )))),(s +* (I +* (Start-At 0 ,SCM+FSA ))),m) = CurInstr (ProgramPart (Comput (ProgramPart (s +* ((loop I) +* (Start-At 0 ,SCM+FSA )))),(s +* ((loop I) +* (Start-At 0 ,SCM+FSA ))),m)),(Comput (ProgramPart (s +* ((loop I) +* (Start-At 0 ,SCM+FSA )))),(s +* ((loop I) +* (Start-At 0 ,SCM+FSA ))),m) )
A3:
IC (Comput (ProgramPart (s +* (I +* (Start-At 0 ,SCM+FSA )))),(s +* (I +* (Start-At 0 ,SCM+FSA ))),m) in dom I
by A1, SCMFSA7B:def 7;
then A4:
IC (Comput (ProgramPart (s +* (I +* (Start-At 0 ,SCM+FSA )))),(s +* (I +* (Start-At 0 ,SCM+FSA ))),m) in dom (loop I)
by FUNCT_4:105;
A5:
I c= I +* (Start-At 0 ,SCM+FSA )
by SCMFSA8A:9;
Y:
(ProgramPart (Comput (ProgramPart (s +* (I +* (Start-At 0 ,SCM+FSA )))),(s +* (I +* (Start-At 0 ,SCM+FSA ))),m)) /. (IC (Comput (ProgramPart (s +* (I +* (Start-At 0 ,SCM+FSA )))),(s +* (I +* (Start-At 0 ,SCM+FSA ))),m)) = (Comput (ProgramPart (s +* (I +* (Start-At 0 ,SCM+FSA )))),(s +* (I +* (Start-At 0 ,SCM+FSA ))),m) . (IC (Comput (ProgramPart (s +* (I +* (Start-At 0 ,SCM+FSA )))),(s +* (I +* (Start-At 0 ,SCM+FSA ))),m))
by COMPOS_1:38;
TX1:
ProgramPart (s +* (I +* (Start-At 0 ,SCM+FSA ))) = ProgramPart (Comput (ProgramPart (s +* (I +* (Start-At 0 ,SCM+FSA )))),(s +* (I +* (Start-At 0 ,SCM+FSA ))),m)
by AMI_1:123;
I +* (Start-At 0 ,SCM+FSA ) c= s +* (I +* (Start-At 0 ,SCM+FSA ))
by FUNCT_4:26;
then
I c= s +* (I +* (Start-At 0 ,SCM+FSA ))
by A5, XBOOLE_1:1;
then
I c= Comput (ProgramPart (s +* (I +* (Start-At 0 ,SCM+FSA )))),(s +* (I +* (Start-At 0 ,SCM+FSA ))),m
by AMI_1:81;
then A6:
CurInstr (ProgramPart (s +* (I +* (Start-At 0 ,SCM+FSA )))),(Comput (ProgramPart (s +* (I +* (Start-At 0 ,SCM+FSA )))),(s +* (I +* (Start-At 0 ,SCM+FSA ))),m) = I . (IC (Comput (ProgramPart (s +* (I +* (Start-At 0 ,SCM+FSA )))),(s +* (I +* (Start-At 0 ,SCM+FSA ))),m))
by A3, Y, TX1, GRFUNC_1:8;
A7:
loop I c= (loop I) +* (Start-At 0 ,SCM+FSA )
by SCMFSA8A:9;
(loop I) +* (Start-At 0 ,SCM+FSA ) c= s +* ((loop I) +* (Start-At 0 ,SCM+FSA ))
by FUNCT_4:26;
then
loop I c= s +* ((loop I) +* (Start-At 0 ,SCM+FSA ))
by A7, XBOOLE_1:1;
then A8:
loop I c= Comput (ProgramPart (s +* ((loop I) +* (Start-At 0 ,SCM+FSA )))),(s +* ((loop I) +* (Start-At 0 ,SCM+FSA ))),m
by AMI_1:81;
assume A9:
m < LifeSpan (ProgramPart (s +* (I +* (Start-At 0 ,SCM+FSA )))),(s +* (I +* (Start-At 0 ,SCM+FSA )))
; CurInstr (ProgramPart (Comput (ProgramPart (s +* (I +* (Start-At 0 ,SCM+FSA )))),(s +* (I +* (Start-At 0 ,SCM+FSA ))),m)),(Comput (ProgramPart (s +* (I +* (Start-At 0 ,SCM+FSA )))),(s +* (I +* (Start-At 0 ,SCM+FSA ))),m) = CurInstr (ProgramPart (Comput (ProgramPart (s +* ((loop I) +* (Start-At 0 ,SCM+FSA )))),(s +* ((loop I) +* (Start-At 0 ,SCM+FSA ))),m)),(Comput (ProgramPart (s +* ((loop I) +* (Start-At 0 ,SCM+FSA )))),(s +* ((loop I) +* (Start-At 0 ,SCM+FSA ))),m)
Z:
(ProgramPart (Comput (ProgramPart (s +* ((loop I) +* (Start-At 0 ,SCM+FSA )))),(s +* ((loop I) +* (Start-At 0 ,SCM+FSA ))),m)) /. (IC (Comput (ProgramPart (s +* ((loop I) +* (Start-At 0 ,SCM+FSA )))),(s +* ((loop I) +* (Start-At 0 ,SCM+FSA ))),m)) = (Comput (ProgramPart (s +* ((loop I) +* (Start-At 0 ,SCM+FSA )))),(s +* ((loop I) +* (Start-At 0 ,SCM+FSA ))),m) . (IC (Comput (ProgramPart (s +* ((loop I) +* (Start-At 0 ,SCM+FSA )))),(s +* ((loop I) +* (Start-At 0 ,SCM+FSA ))),m))
by COMPOS_1:38;
ProgramPart (s +* (I +* (Start-At 0 ,SCM+FSA ))) halts_on s +* (I +* (Start-At 0 ,SCM+FSA ))
by A2, SCMFSA7B:def 8;
then
I . (IC (Comput (ProgramPart (s +* (I +* (Start-At 0 ,SCM+FSA )))),(s +* (I +* (Start-At 0 ,SCM+FSA ))),m)) <> halt SCM+FSA
by A9, A6, AMI_1:def 46;
then
I . (IC (Comput (ProgramPart (s +* (I +* (Start-At 0 ,SCM+FSA )))),(s +* (I +* (Start-At 0 ,SCM+FSA ))),m)) = (loop I) . (IC (Comput (ProgramPart (s +* (I +* (Start-At 0 ,SCM+FSA )))),(s +* (I +* (Start-At 0 ,SCM+FSA ))),m))
by FUNCT_4:111;
hence CurInstr (ProgramPart (Comput (ProgramPart (s +* (I +* (Start-At 0 ,SCM+FSA )))),(s +* (I +* (Start-At 0 ,SCM+FSA ))),m)),(Comput (ProgramPart (s +* (I +* (Start-At 0 ,SCM+FSA )))),(s +* (I +* (Start-At 0 ,SCM+FSA ))),m) =
(Comput (ProgramPart (s +* ((loop I) +* (Start-At 0 ,SCM+FSA )))),(s +* ((loop I) +* (Start-At 0 ,SCM+FSA ))),m) . (IC (Comput (ProgramPart (s +* (I +* (Start-At 0 ,SCM+FSA )))),(s +* (I +* (Start-At 0 ,SCM+FSA ))),m))
by A8, A4, A6, TX1, GRFUNC_1:8
.=
CurInstr (ProgramPart (Comput (ProgramPart (s +* ((loop I) +* (Start-At 0 ,SCM+FSA )))),(s +* ((loop I) +* (Start-At 0 ,SCM+FSA ))),m)),(Comput (ProgramPart (s +* ((loop I) +* (Start-At 0 ,SCM+FSA )))),(s +* ((loop I) +* (Start-At 0 ,SCM+FSA ))),m)
by A1, A2, A9, Th109, Z, COMPOS_1:24
;
verum