let s be State of SCM+FSA ; :: thesis: for Ig being good Program of SCM+FSA st ( Ig is parahalting or ( Ig is_closed_on Initialize s & Ig is_halting_on Initialize s ) ) holds
DataPart (Initialize (IExec Ig,s)) = DataPart (IExec Ig,s)
let Ig be good Program of SCM+FSA ; :: thesis: ( ( Ig is parahalting or ( Ig is_closed_on Initialize s & Ig is_halting_on Initialize s ) ) implies DataPart (Initialize (IExec Ig,s)) = DataPart (IExec Ig,s) )
set I = Ig;
assume A1:
( Ig is parahalting or ( Ig is_closed_on Initialize s & Ig is_halting_on Initialize s ) )
; :: thesis: DataPart (Initialize (IExec Ig,s)) = DataPart (IExec Ig,s)
A2:
( Ig is_closed_on Initialize s & Ig is_halting_on Initialize s )
by A1, SCMFSA7B:24, SCMFSA7B:25;
set IE = IExec Ig,s;
set Ins = NAT ;
now A3:
(
dom (Initialize (IExec Ig,s)) = the
carrier of
SCM+FSA &
dom (IExec Ig,s) = the
carrier of
SCM+FSA )
by AMI_1:79;
hence A4:
dom (DataPart (Initialize (IExec Ig,s))) = (dom (IExec Ig,s)) /\ (Int-Locations \/ FinSeq-Locations )
by RELAT_1:90, SCMFSA_2:127;
:: thesis: for x being set st x in dom (DataPart (Initialize (IExec Ig,s))) holds
(DataPart (Initialize (IExec Ig,s))) . b2 = (IExec Ig,s) . b2let x be
set ;
:: thesis: ( x in dom (DataPart (Initialize (IExec Ig,s))) implies (DataPart (Initialize (IExec Ig,s))) . b1 = (IExec Ig,s) . b1 )assume A5:
x in dom (DataPart (Initialize (IExec Ig,s)))
;
:: thesis: (DataPart (Initialize (IExec Ig,s))) . b1 = (IExec Ig,s) . b1
dom (Initialize (IExec Ig,s)) = (Int-Locations \/ FinSeq-Locations ) \/ ({(IC SCM+FSA )} \/ NAT )
by A3, SCMFSA_2:8, XBOOLE_1:4;
then A6:
dom (DataPart (Initialize (IExec Ig,s))) = Int-Locations \/ FinSeq-Locations
by A3, A4, XBOOLE_1:21;
end;
hence
DataPart (Initialize (IExec Ig,s)) = DataPart (IExec Ig,s)
by FUNCT_1:68, SCMFSA_2:127; :: thesis: verum