let P be Instruction-Sequence of SCM+FSA; for s being State of SCM+FSA
for I, J being really-closed parahalting MacroInstruction of SCM+FSA
for a being read-write Int-Location holds
( if>0 (a,I,J) is parahalting & ( s . a > 0 implies IExec ((if>0 (a,I,J)),P,s) = (IExec (I,P,s)) +* (Start-At ((((card I) + (card J)) + 3),SCM+FSA)) ) & ( s . a <= 0 implies IExec ((if>0 (a,I,J)),P,s) = (IExec (J,P,s)) +* (Start-At ((((card I) + (card J)) + 3),SCM+FSA)) ) )
let s be State of SCM+FSA; for I, J being really-closed parahalting MacroInstruction of SCM+FSA
for a being read-write Int-Location holds
( if>0 (a,I,J) is parahalting & ( s . a > 0 implies IExec ((if>0 (a,I,J)),P,s) = (IExec (I,P,s)) +* (Start-At ((((card I) + (card J)) + 3),SCM+FSA)) ) & ( s . a <= 0 implies IExec ((if>0 (a,I,J)),P,s) = (IExec (J,P,s)) +* (Start-At ((((card I) + (card J)) + 3),SCM+FSA)) ) )
let I, J be really-closed parahalting MacroInstruction of SCM+FSA ; for a being read-write Int-Location holds
( if>0 (a,I,J) is parahalting & ( s . a > 0 implies IExec ((if>0 (a,I,J)),P,s) = (IExec (I,P,s)) +* (Start-At ((((card I) + (card J)) + 3),SCM+FSA)) ) & ( s . a <= 0 implies IExec ((if>0 (a,I,J)),P,s) = (IExec (J,P,s)) +* (Start-At ((((card I) + (card J)) + 3),SCM+FSA)) ) )
let a be read-write Int-Location; ( if>0 (a,I,J) is parahalting & ( s . a > 0 implies IExec ((if>0 (a,I,J)),P,s) = (IExec (I,P,s)) +* (Start-At ((((card I) + (card J)) + 3),SCM+FSA)) ) & ( s . a <= 0 implies IExec ((if>0 (a,I,J)),P,s) = (IExec (J,P,s)) +* (Start-At ((((card I) + (card J)) + 3),SCM+FSA)) ) )
A1:
I is_halting_on Initialized s,P
by SCMFSA7B:19;
for s being 0 -started State of SCM+FSA
for P being Instruction-Sequence of SCM+FSA st if>0 (a,I,J) c= P holds
P halts_on s
proof
let s be
0 -started State of
SCM+FSA;
for P being Instruction-Sequence of SCM+FSA st if>0 (a,I,J) c= P holds
P halts_on s
Start-At (
0,
SCM+FSA)
c= s
by MEMSTR_0:29;
then A2:
s = Initialize s
by FUNCT_4:98;
let Q be
Instruction-Sequence of
SCM+FSA;
( if>0 (a,I,J) c= Q implies Q halts_on s )
assume A3:
if>0 (
a,
I,
J)
c= Q
;
Q halts_on s
A4:
if>0 (
a,
I,
J)
c= Q
by A3;
A5:
I is_halting_on s,
Q
by SCMFSA7B:19;
A6:
J is_halting_on s,
Q
by SCMFSA7B:19;
A7:
Q +* (if>0 (a,I,J)) = Q
by A4, FUNCT_4:98;
end;
hence
if>0 (a,I,J) is parahalting
by AMISTD_1:def 11; ( ( s . a > 0 implies IExec ((if>0 (a,I,J)),P,s) = (IExec (I,P,s)) +* (Start-At ((((card I) + (card J)) + 3),SCM+FSA)) ) & ( s . a <= 0 implies IExec ((if>0 (a,I,J)),P,s) = (IExec (J,P,s)) +* (Start-At ((((card I) + (card J)) + 3),SCM+FSA)) ) )
thus
( s . a > 0 implies IExec ((if>0 (a,I,J)),P,s) = (IExec (I,P,s)) +* (Start-At ((((card I) + (card J)) + 3),SCM+FSA)) )
by A1, Th14; ( s . a <= 0 implies IExec ((if>0 (a,I,J)),P,s) = (IExec (J,P,s)) +* (Start-At ((((card I) + (card J)) + 3),SCM+FSA)) )
J is_halting_on Initialized s,P
by SCMFSA7B:19;
hence
( s . a <= 0 implies IExec ((if>0 (a,I,J)),P,s) = (IExec (J,P,s)) +* (Start-At ((((card I) + (card J)) + 3),SCM+FSA)) )
by Th16; verum