let P1, P2 be Instruction-Sequence of SCM+FSA; for s1, s2 being State of SCM+FSA
for I being Program of SCM+FSA
for a being Int-Location st ( for d being read-write Int-Location st a <> d holds
s1 . d = s2 . d ) & ( for f being FinSeq-Location holds s1 . f = s2 . f ) & not I refers a & I is_closed_on Initialized s1,P1 & I is_halting_on Initialized s1,P1 holds
( ( for d being Int-Location st a <> d holds
(IExec (I,P1,s1)) . d = (IExec (I,P2,s2)) . d ) & ( for f being FinSeq-Location holds (IExec (I,P1,s1)) . f = (IExec (I,P2,s2)) . f ) & IC (IExec (I,P1,s1)) = IC (IExec (I,P2,s2)) )
let s1, s2 be State of SCM+FSA; for I being Program of SCM+FSA
for a being Int-Location st ( for d being read-write Int-Location st a <> d holds
s1 . d = s2 . d ) & ( for f being FinSeq-Location holds s1 . f = s2 . f ) & not I refers a & I is_closed_on Initialized s1,P1 & I is_halting_on Initialized s1,P1 holds
( ( for d being Int-Location st a <> d holds
(IExec (I,P1,s1)) . d = (IExec (I,P2,s2)) . d ) & ( for f being FinSeq-Location holds (IExec (I,P1,s1)) . f = (IExec (I,P2,s2)) . f ) & IC (IExec (I,P1,s1)) = IC (IExec (I,P2,s2)) )
let I be Program of SCM+FSA; for a being Int-Location st ( for d being read-write Int-Location st a <> d holds
s1 . d = s2 . d ) & ( for f being FinSeq-Location holds s1 . f = s2 . f ) & not I refers a & I is_closed_on Initialized s1,P1 & I is_halting_on Initialized s1,P1 holds
( ( for d being Int-Location st a <> d holds
(IExec (I,P1,s1)) . d = (IExec (I,P2,s2)) . d ) & ( for f being FinSeq-Location holds (IExec (I,P1,s1)) . f = (IExec (I,P2,s2)) . f ) & IC (IExec (I,P1,s1)) = IC (IExec (I,P2,s2)) )
let a be Int-Location; ( ( for d being read-write Int-Location st a <> d holds
s1 . d = s2 . d ) & ( for f being FinSeq-Location holds s1 . f = s2 . f ) & not I refers a & I is_closed_on Initialized s1,P1 & I is_halting_on Initialized s1,P1 implies ( ( for d being Int-Location st a <> d holds
(IExec (I,P1,s1)) . d = (IExec (I,P2,s2)) . d ) & ( for f being FinSeq-Location holds (IExec (I,P1,s1)) . f = (IExec (I,P2,s2)) . f ) & IC (IExec (I,P1,s1)) = IC (IExec (I,P2,s2)) ) )
assume that
A1:
for d being read-write Int-Location st a <> d holds
s1 . d = s2 . d
and
A2:
for f being FinSeq-Location holds s1 . f = s2 . f
; ( I refers a or not I is_closed_on Initialized s1,P1 or not I is_halting_on Initialized s1,P1 or ( ( for d being Int-Location st a <> d holds
(IExec (I,P1,s1)) . d = (IExec (I,P2,s2)) . d ) & ( for f being FinSeq-Location holds (IExec (I,P1,s1)) . f = (IExec (I,P2,s2)) . f ) & IC (IExec (I,P1,s1)) = IC (IExec (I,P2,s2)) ) )
set S1 = Initialized s1;
set Q1 = P1 +* I;
set S2 = Initialized s2;
set Q2 = P2 +* I;
assume A7:
not I refers a
; ( not I is_closed_on Initialized s1,P1 or not I is_halting_on Initialized s1,P1 or ( ( for d being Int-Location st a <> d holds
(IExec (I,P1,s1)) . d = (IExec (I,P2,s2)) . d ) & ( for f being FinSeq-Location holds (IExec (I,P1,s1)) . f = (IExec (I,P2,s2)) . f ) & IC (IExec (I,P1,s1)) = IC (IExec (I,P2,s2)) ) )
A8:
Initialized s2 = Initialize (Initialized s2)
by MEMSTR_0:44;
assume that
A9:
I is_closed_on Initialized s1,P1
and
A10:
I is_halting_on Initialized s1,P1
; ( ( for d being Int-Location st a <> d holds
(IExec (I,P1,s1)) . d = (IExec (I,P2,s2)) . d ) & ( for f being FinSeq-Location holds (IExec (I,P1,s1)) . f = (IExec (I,P2,s2)) . f ) & IC (IExec (I,P1,s1)) = IC (IExec (I,P2,s2)) )
then
I is_halting_on Initialized s2,P2
by A7, A9, A10, A3, Th37;
then A12:
P2 +* I halts_on Initialized s2
by A8, SCMFSA7B:def 7;
A13:
Initialized s1 = Initialize (Initialized s1)
by MEMSTR_0:44;
then A14:
P1 +* I halts_on Initialized s1
by A10, SCMFSA7B:def 7;
now for l being Element of NAT st l < LifeSpan ((P1 +* I),(Initialized s1)) holds
CurInstr ((P2 +* I),(Comput ((P2 +* I),(Initialized s2),l))) <> halt SCM+FSAlet l be
Element of
NAT ;
( l < LifeSpan ((P1 +* I),(Initialized s1)) implies CurInstr ((P2 +* I),(Comput ((P2 +* I),(Initialized s2),l))) <> halt SCM+FSA )assume
l < LifeSpan (
(P1 +* I),
(Initialized s1))
;
CurInstr ((P2 +* I),(Comput ((P2 +* I),(Initialized s2),l))) <> halt SCM+FSAthen
CurInstr (
(P1 +* I),
(Comput ((P1 +* I),(Initialized s1),l)))
<> halt SCM+FSA
by A14, EXTPRO_1:def 15;
hence
CurInstr (
(P2 +* I),
(Comput ((P2 +* I),(Initialized s2),l)))
<> halt SCM+FSA
by A7, A9, A3, A11, A13, A8, Th35;
verum end;
then A15:
for l being Element of NAT st CurInstr ((P2 +* I),(Comput ((P2 +* I),(Initialized s2),l))) = halt SCM+FSA holds
LifeSpan ((P1 +* I),(Initialized s1)) <= l
;
CurInstr ((P2 +* I),(Comput ((P2 +* I),(Initialized s2),(LifeSpan ((P1 +* I),(Initialized s1)))))) =
CurInstr ((P1 +* I),(Comput ((P1 +* I),(Initialized s1),(LifeSpan ((P1 +* I),(Initialized s1))))))
by A7, A9, A3, A11, A13, A8, Th35
.=
halt SCM+FSA
by A14, EXTPRO_1:def 15
;
then A16:
LifeSpan ((P1 +* I),(Initialized s1)) = LifeSpan ((P2 +* I),(Initialized s2))
by A12, A15, EXTPRO_1:def 15;
then A17:
Result ((P2 +* I),(Initialized s2)) = Comput ((P2 +* I),(Initialized s2),(LifeSpan ((P1 +* I),(Initialized s1))))
by A12, EXTPRO_1:23;
A18:
Result ((P1 +* I),(Initialized s1)) = Comput ((P1 +* I),(Initialized s1),(LifeSpan ((P1 +* I),(Initialized s1))))
by A14, EXTPRO_1:23;
A19:
Result ((P1 +* I),(Initialized s1)) = IExec (I,P1,s1)
by Th33;
A20:
Result ((P2 +* I),(Initialized s2)) = IExec (I,P2,s2)
by Th33;
thus
for d being Int-Location st a <> d holds
(IExec (I,P1,s1)) . d = (IExec (I,P2,s2)) . d
by A20, A19, A7, A9, A3, A11, A13, A8, A17, A18, Th35; ( ( for f being FinSeq-Location holds (IExec (I,P1,s1)) . f = (IExec (I,P2,s2)) . f ) & IC (IExec (I,P1,s1)) = IC (IExec (I,P2,s2)) )
thus
for f being FinSeq-Location holds (IExec (I,P1,s1)) . f = (IExec (I,P2,s2)) . f
by A20, A19, A7, A9, A3, A11, A13, A8, A17, A18, Th35; IC (IExec (I,P1,s1)) = IC (IExec (I,P2,s2))
thus IC (IExec (I,P1,s1)) =
IC (Result ((P1 +* I),(Initialized s1)))
by SCMFSA6B:def 1
.=
IC (Comput ((P1 +* I),(Initialized s1),(LifeSpan ((P1 +* I),(Initialized s1)))))
by A14, EXTPRO_1:23
.=
IC (Comput ((P2 +* I),(Initialized s2),(LifeSpan ((P2 +* I),(Initialized s2)))))
by A7, A9, A3, A11, A13, A8, A16, Th35
.=
IC (Result ((P2 +* I),(Initialized s2)))
by A12, EXTPRO_1:23
.=
IC (IExec (I,P2,s2))
by SCMFSA6B:def 1
; verum