let s be State of ; :: thesis: IExec (Stop SCM+FSA ),s = (Initialize s) +* (Start-At (insloc 0 ))
set D = Int-Locations \/ FinSeq-Locations ;
set A = NAT ;
set s1 = (Initialize s) +* ((Stop SCM+FSA ) +* (Start-At (insloc 0 )));
A1: (Initialize s) +* ((Stop SCM+FSA ) +* (Start-At (insloc 0 ))) = Computation ((Initialize s) +* ((Stop SCM+FSA ) +* (Start-At (insloc 0 )))),0 by AMI_1:13;
A2: IExec (Stop SCM+FSA ),s = (Result (s +* (Initialized (Stop SCM+FSA )))) +* (s | NAT ) by SCMFSA6B:def 1;
A3: s +* (Initialized (Stop SCM+FSA )) = (Initialize s) +* ((Stop SCM+FSA ) +* (Start-At (insloc 0 ))) by SCMFSA8A:13;
then A4: CurInstr ((Initialize s) +* ((Stop SCM+FSA ) +* (Start-At (insloc 0 )))) = ((Initialize s) +* ((Stop SCM+FSA ) +* (Start-At (insloc 0 )))) . (insloc 0 ) by FUNCT_4:26, SCMFSA6B:34
.= (Stop SCM+FSA ) . (insloc 0 ) by Th26, SCMFSA8A:15 ;
then ProgramPart ((Initialize s) +* ((Stop SCM+FSA ) +* (Start-At (insloc 0 )))) halts_on (Initialize s) +* ((Stop SCM+FSA ) +* (Start-At (insloc 0 ))) by A1, AMI_1:146, SCMFSA8A:16;
then A5: IExec (Stop SCM+FSA ),s = ((Initialize s) +* ((Stop SCM+FSA ) +* (Start-At (insloc 0 )))) +* (s | NAT ) by A3, A4, A1, A2, AMI_1:def 22, SCMFSA8A:16;
then A6: DataPart (IExec (Stop SCM+FSA ),s) = DataPart ((Initialize s) +* ((Stop SCM+FSA ) +* (Start-At (insloc 0 )))) by Th37
.= DataPart (Initialize s) by SCMFSA8A:11 ;
hereby :: thesis: verum
A7: dom (Start-At (insloc 0 )) = {(IC SCM+FSA )} by FUNCOP_1:19;
A8: now
let x be set ; :: thesis: ( x in dom (IExec (Stop SCM+FSA ),s) implies (IExec (Stop SCM+FSA ),s) . b1 = ((Initialize s) +* (Start-At (insloc 0 ))) . b1 )
assume A9: x in dom (IExec (Stop SCM+FSA ),s) ; :: thesis: (IExec (Stop SCM+FSA ),s) . b1 = ((Initialize s) +* (Start-At (insloc 0 ))) . b1
per cases ( x is Int-Location or x is FinSeq-Location or x = IC SCM+FSA or x is Instruction-Location of SCM+FSA ) by A9, SCMFSA6A:35;
suppose A14: x = IC SCM+FSA ; :: thesis: (IExec (Stop SCM+FSA ),s) . b1 = ((Initialize s) +* (Start-At (insloc 0 ))) . b1
end;
end;
end;
dom (IExec (Stop SCM+FSA ),s) = the carrier of SCM+FSA by AMI_1:79
.= dom ((Initialize s) +* (Start-At (insloc 0 ))) by AMI_1:79 ;
hence IExec (Stop SCM+FSA ),s = (Initialize s) +* (Start-At (insloc 0 )) by A8, FUNCT_1:9; :: thesis: verum
end;