let s1, s2 be State of SCM+FSA ; for I being parahalting Program of SCM+FSA st I +* (Start-At 0 ,SCM+FSA ) c= s1 & I +* (Start-At 0 ,SCM+FSA ) c= s2 & s1,s2 equal_outside NAT holds
for k being Element of NAT holds
( Comput (ProgramPart s1),s1,k, Comput (ProgramPart s2),s2,k equal_outside NAT & CurInstr (ProgramPart (Comput (ProgramPart s1),s1,k)),(Comput (ProgramPart s1),s1,k) = CurInstr (ProgramPart (Comput (ProgramPart s2),s2,k)),(Comput (ProgramPart s2),s2,k) )
let I be parahalting Program of SCM+FSA ; ( I +* (Start-At 0 ,SCM+FSA ) c= s1 & I +* (Start-At 0 ,SCM+FSA ) c= s2 & s1,s2 equal_outside NAT implies for k being Element of NAT holds
( Comput (ProgramPart s1),s1,k, Comput (ProgramPart s2),s2,k equal_outside NAT & CurInstr (ProgramPart (Comput (ProgramPart s1),s1,k)),(Comput (ProgramPart s1),s1,k) = CurInstr (ProgramPart (Comput (ProgramPart s2),s2,k)),(Comput (ProgramPart s2),s2,k) ) )
assume that
A1:
I +* (Start-At 0 ,SCM+FSA ) c= s1
and
A2:
I +* (Start-At 0 ,SCM+FSA ) c= s2
and
A3:
s1,s2 equal_outside NAT
; for k being Element of NAT holds
( Comput (ProgramPart s1),s1,k, Comput (ProgramPart s2),s2,k equal_outside NAT & CurInstr (ProgramPart (Comput (ProgramPart s1),s1,k)),(Comput (ProgramPart s1),s1,k) = CurInstr (ProgramPart (Comput (ProgramPart s2),s2,k)),(Comput (ProgramPart s2),s2,k) )
A4:
I c= s2
by A2, Th5;
A5:
I c= s1
by A1, Th5;
hereby verum
let k be
Element of
NAT ;
( Comput (ProgramPart s1),s1,k, Comput (ProgramPart s2),s2,k equal_outside NAT & CurInstr (ProgramPart (Comput (ProgramPart s2),s2,k)),(Comput (ProgramPart s2),s2,k) = CurInstr (ProgramPart (Comput (ProgramPart s1),s1,k)),(Comput (ProgramPart s1),s1,k) )A6:
IC (Comput (ProgramPart s1),s1,k) in dom I
by A1, Def2;
A7:
IC (Comput (ProgramPart s2),s2,k) in dom I
by A2, Def2;
for
m being
Element of
NAT st
m < k holds
IC (Comput (ProgramPart s2),s2,m) in dom I
by A2, Def2;
hence
Comput (ProgramPart s1),
s1,
k,
Comput (ProgramPart s2),
s2,
k equal_outside NAT
by A3, A5, A4, Th21;
CurInstr (ProgramPart (Comput (ProgramPart s2),s2,k)),(Comput (ProgramPart s2),s2,k) = CurInstr (ProgramPart (Comput (ProgramPart s1),s1,k)),(Comput (ProgramPart s1),s1,k)then A8:
IC (Comput (ProgramPart s1),s1,k) = IC (Comput (ProgramPart s2),s2,k)
by COMPOS_1:24;
Y:
(ProgramPart (Comput (ProgramPart s2),s2,k)) /. (IC (Comput (ProgramPart s2),s2,k)) = (Comput (ProgramPart s2),s2,k) . (IC (Comput (ProgramPart s2),s2,k))
by COMPOS_1:38;
Z:
(ProgramPart (Comput (ProgramPart s1),s1,k)) /. (IC (Comput (ProgramPart s1),s1,k)) = (Comput (ProgramPart s1),s1,k) . (IC (Comput (ProgramPart s1),s1,k))
by COMPOS_1:38;
thus CurInstr (ProgramPart (Comput (ProgramPart s2),s2,k)),
(Comput (ProgramPart s2),s2,k) =
s2 . (IC (Comput (ProgramPart s2),s2,k))
by Y, AMI_1:54
.=
I . (IC (Comput (ProgramPart s2),s2,k))
by A4, A7, GRFUNC_1:8
.=
s1 . (IC (Comput (ProgramPart s1),s1,k))
by A5, A8, A6, GRFUNC_1:8
.=
CurInstr (ProgramPart (Comput (ProgramPart s1),s1,k)),
(Comput (ProgramPart s1),s1,k)
by Z, AMI_1:54
;
verum
end;