set A = NAT ;
set D = Int-Locations \/ FinSeq-Locations ;
let s be State of SCM+FSA ; :: thesis: IExec (Stop SCM+FSA ),s = (Initialize s) +* (Start-At (insloc 0 ))
set s1 = (Initialize s) +* ((Stop SCM+FSA ) +* (Start-At (insloc 0 )));
A1: s +* (Initialized (Stop SCM+FSA )) = (Initialize s) +* ((Stop SCM+FSA ) +* (Start-At (insloc 0 ))) by SCMFSA8A:13;
then 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 A2: ( CurInstr ((Initialize s) +* ((Stop SCM+FSA ) +* (Start-At (insloc 0 )))) = halt SCM+FSA & (Initialize s) +* ((Stop SCM+FSA ) +* (Start-At (insloc 0 ))) = Computation ((Initialize s) +* ((Stop SCM+FSA ) +* (Start-At (insloc 0 )))),0 ) by AMI_1:13, SCMFSA8A:16;
then A3: (Initialize s) +* ((Stop SCM+FSA ) +* (Start-At (insloc 0 ))) is halting by AMI_1:def 20;
A4: IExec (Stop SCM+FSA ),s = (Result (s +* (Initialized (Stop SCM+FSA )))) +* (s | NAT ) by SCMFSA6B:def 1;
then A5: IExec (Stop SCM+FSA ),s = ((Initialize s) +* ((Stop SCM+FSA ) +* (Start-At (insloc 0 )))) +* (s | NAT ) by A1, A2, A3, AMI_1:def 22;
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 (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 ;
A8: dom (Start-At (insloc 0 )) = {(IC SCM+FSA )} by FUNCOP_1:19;
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;
hence IExec (Stop SCM+FSA ),s = (Initialize s) +* (Start-At (insloc 0 )) by A7, FUNCT_1:9; :: thesis: verum
end;