let s1, s2 be State of SCM+FSA; for J being InitHalting Program of SCM+FSA
for P being the Instructions of SCM+FSA -valued ManySortedSet of NAT st NPP s1 = NPP s2 holds
NPP (IExec (J,P,s1)) = NPP (IExec (J,P,s2))
let J be InitHalting Program of SCM+FSA; for P being the Instructions of SCM+FSA -valued ManySortedSet of NAT st NPP s1 = NPP s2 holds
NPP (IExec (J,P,s1)) = NPP (IExec (J,P,s2))
let P be the Instructions of SCM+FSA -valued ManySortedSet of NAT ; ( NPP s1 = NPP s2 implies NPP (IExec (J,P,s1)) = NPP (IExec (J,P,s2)) )
assume
NPP s1 = NPP s2
; NPP (IExec (J,P,s1)) = NPP (IExec (J,P,s2))
then A: NPP (s1 +* (Initialize ((intloc 0) .--> 1))) =
(NPP s2) +* (NPP (Initialize ((intloc 0) .--> 1)))
by COMPOS_1:221
.=
NPP (s2 +* (Initialize ((intloc 0) .--> 1)))
by COMPOS_1:221
;
Start-At (0,SCM+FSA) c= Initialize ((intloc 0) .--> 1)
by FUNCT_4:26;
then C:
Initialize ((intloc 0) .--> 1) c= s1 +* (Initialize ((intloc 0) .--> 1))
by FUNCT_4:26;
J c= P +* J
by FUNCT_4:26;
then B:
P +* J halts_on s1 +* (Initialize ((intloc 0) .--> 1))
by C, Def2;
thus NPP (IExec (J,P,s1)) =
NPP ((Result ((P +* J),(s1 +* (Initialize ((intloc 0) .--> 1))))) +* (s1 | NAT))
by SCMFSA6B:def 1
.=
(NPP (Result ((P +* J),(s1 +* (Initialize ((intloc 0) .--> 1)))))) +* (NPP (s1 | NAT))
by COMPOS_1:221
.=
(NPP (Result ((P +* J),(s1 +* (Initialize ((intloc 0) .--> 1)))))) +* {}
.=
NPP (Result ((P +* J),(s1 +* (Initialize ((intloc 0) .--> 1)))))
by FUNCT_4:22
.=
NPP (Result ((P +* J),(s2 +* (Initialize ((intloc 0) .--> 1)))))
by A, B, AMISTD_2:71
.=
(NPP (Result ((P +* J),(s2 +* (Initialize ((intloc 0) .--> 1)))))) +* {}
by FUNCT_4:22
.=
(NPP (Result ((P +* J),(s2 +* (Initialize ((intloc 0) .--> 1)))))) +* (NPP (s2 | NAT))
.=
NPP ((Result ((P +* J),(s2 +* (Initialize ((intloc 0) .--> 1))))) +* (s2 | NAT))
by COMPOS_1:221
.=
NPP (IExec (J,P,s2))
by SCMFSA6B:def 1
; verum