let f be FinSeq-Location ; for s being State of SCM+FSA
for P being the Instructions of SCM+FSA -valued ManySortedSet of NAT
for I being parahalting Program of SCM+FSA st not f in UsedInt*Loc I holds
(IExec (I,P,s)) . f = s . f
let s be State of SCM+FSA; for P being the Instructions of SCM+FSA -valued ManySortedSet of NAT
for I being parahalting Program of SCM+FSA st not f in UsedInt*Loc I holds
(IExec (I,P,s)) . f = s . f
let P be the Instructions of SCM+FSA -valued ManySortedSet of NAT ; for I being parahalting Program of SCM+FSA st not f in UsedInt*Loc I holds
(IExec (I,P,s)) . f = s . f
let I be parahalting Program of SCM+FSA; ( not f in UsedInt*Loc I implies (IExec (I,P,s)) . f = s . f )
assume A1:
not f in UsedInt*Loc I
; (IExec (I,P,s)) . f = s . f
A2:
I c= P +* I
by FUNCT_4:26;
Initialize ((intloc 0) .--> 1) c= s +* (Initialize ((intloc 0) .--> 1))
by FUNCT_4:26;
then
P +* I halts_on s +* (Initialize ((intloc 0) .--> 1))
by Th19, A2;
then consider n being Element of NAT such that
A3:
Result ((P +* I),(s +* (Initialize ((intloc 0) .--> 1)))) = Comput ((P +* I),(s +* (Initialize ((intloc 0) .--> 1))),n)
and
CurInstr ((P +* I),(Result ((P +* I),(s +* (Initialize ((intloc 0) .--> 1)))))) = halt SCM+FSA
by EXTPRO_1:def 8;
Initialize ((intloc 0) .--> 1) c= Initialized I
by FUNCT_4:26;
then
dom (Initialize ((intloc 0) .--> 1)) c= dom (Initialized I)
by RELAT_1:25;
then A4:
not f in dom (Initialize ((intloc 0) .--> 1))
by SCMFSA6A:49;
dom (ProgramPart s) = NAT
by COMPOS_1:34;
then
not f in dom (s | NAT)
by SCMFSA_2:85;
then A5:
(IExec (I,P,s)) . f = (Result ((P +* I),(s +* (Initialize ((intloc 0) .--> 1))))) . f
by FUNCT_4:12;
uu:
Initialize ((intloc 0) .--> 1) c= s +* (Initialize ((intloc 0) .--> 1))
by FUNCT_4:26;
Start-At (0,SCM+FSA) c= Initialize ((intloc 0) .--> 1)
by FUNCT_4:26;
then A6:
Start-At (0,SCM+FSA) c= s +* (Initialize ((intloc 0) .--> 1))
by uu, XBOOLE_1:1;
for m being Element of NAT st m < n holds
IC (Comput ((P +* I),(s +* (Initialize ((intloc 0) .--> 1))),m)) in dom I
by Def2, A6, FUNCT_4:26;
hence (IExec (I,P,s)) . f =
(s +* (Initialize ((intloc 0) .--> 1))) . f
by A1, A5, A3, A6, FUNCT_4:26, SF_MASTR:71
.=
s . f
by A4, FUNCT_4:12
;
verum