let s be State of SCM+FSA; :: thesis: IExec ((Stop SCM+FSA),s) = (Initialized s) +* (Start-At (0,SCM+FSA))
set D = Int-Locations \/ FinSeq-Locations;
set A = NAT ;
set s1 = (Initialized s) +* ((Stop SCM+FSA) +* (Start-At (0,SCM+FSA)));
A1: (Initialized s) +* ((Stop SCM+FSA) +* (Start-At (0,SCM+FSA))) = Comput ((ProgramPart ((Initialized s) +* ((Stop SCM+FSA) +* (Start-At (0,SCM+FSA))))),((Initialized s) +* ((Stop SCM+FSA) +* (Start-At (0,SCM+FSA)))),0) by EXTPRO_1:3;
A2: IExec ((Stop SCM+FSA),s) = (Result ((ProgramPart (s +* (Initialized (Stop SCM+FSA)))),(s +* (Initialized (Stop SCM+FSA))))) +* (s | NAT) by SCMFSA6B:def 1;
Y: (ProgramPart ((Initialized s) +* ((Stop SCM+FSA) +* (Start-At (0,SCM+FSA))))) /. (IC ((Initialized s) +* ((Stop SCM+FSA) +* (Start-At (0,SCM+FSA))))) = ((Initialized s) +* ((Stop SCM+FSA) +* (Start-At (0,SCM+FSA)))) . (IC ((Initialized s) +* ((Stop SCM+FSA) +* (Start-At (0,SCM+FSA))))) by COMPOS_1:38;
y: (Stop SCM+FSA) . 0 = halt SCM+FSA by AFINSQ_1:38;
x: 0 in dom (Stop SCM+FSA) by COMPOS_1:45;
A3: s +* (Initialized (Stop SCM+FSA)) = (Initialized s) +* ((Stop SCM+FSA) +* (Start-At (0,SCM+FSA))) by SCMFSA8A:13;
then A4: CurInstr ((ProgramPart ((Initialized s) +* ((Stop SCM+FSA) +* (Start-At (0,SCM+FSA))))),((Initialized s) +* ((Stop SCM+FSA) +* (Start-At (0,SCM+FSA))))) = ((Initialized s) +* ((Stop SCM+FSA) +* (Start-At (0,SCM+FSA)))) . 0 by Y, FUNCT_4:26, SCMFSA6B:34
.= (Stop SCM+FSA) . 0 by Th26, x ;
then ProgramPart ((Initialized s) +* ((Stop SCM+FSA) +* (Start-At (0,SCM+FSA)))) halts_on (Initialized s) +* ((Stop SCM+FSA) +* (Start-At (0,SCM+FSA))) by A1, y, EXTPRO_1:30;
then A5: IExec ((Stop SCM+FSA),s) = ((Initialized s) +* ((Stop SCM+FSA) +* (Start-At (0,SCM+FSA)))) +* (s | NAT) by A3, A4, A1, A2, y, EXTPRO_1:def 8;
then A6: DataPart (IExec ((Stop SCM+FSA),s)) = DataPart ((Initialized s) +* ((Stop SCM+FSA) +* (Start-At (0,SCM+FSA)))) by Th37
.= DataPart (Initialized s) by SCMFSA8A:11 ;
hereby :: thesis: verum
A7: dom (Start-At (0,SCM+FSA)) = {(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 = ((Initialized s) +* (Start-At (0,SCM+FSA))) . b1 )
assume A9: x in dom (IExec ((Stop SCM+FSA),s)) ; :: thesis: (IExec ((Stop SCM+FSA),s)) . b1 = ((Initialized s) +* (Start-At (0,SCM+FSA))) . b1
per cases ( x is Int-Location or x is FinSeq-Location or x = IC SCM+FSA or x is Element of NAT ) by A9, SCMFSA6A:35;
end;
end;
dom (IExec ((Stop SCM+FSA),s)) = the carrier of SCM+FSA by PARTFUN1:def 4
.= dom ((Initialized s) +* (Start-At (0,SCM+FSA))) by PARTFUN1:def 4 ;
hence IExec ((Stop SCM+FSA),s) = (Initialized s) +* (Start-At (0,SCM+FSA)) by A8, FUNCT_1:9; :: thesis: verum
end;