let I, J be Program of SCMPDS ; for s being State of SCMPDS st Initialize J c= s holds
(Initialize s) +* I = s +* I
let s be State of SCMPDS ; ( Initialize J c= s implies (Initialize s) +* I = s +* I )
set s1 = s +* I;
A1:
dom (s +* I) = (dom s) \/ (dom I)
by FUNCT_4:def 1;
I1:
(Initialize s) +* I = s +* (Initialize I)
by Th5;
assume A2:
Initialize J c= s
; (Initialize s) +* I = s +* I
then A3:
dom (Initialize J) c= dom s
by GRFUNC_1:8;
A4:
dom ((Initialize s) +* I) = (dom s) \/ (dom (Initialize I))
by I1, FUNCT_4:def 1;
(dom J) \/ (dom (Initialize I)) =
(dom J) \/ ((dom I) \/ {(IC SCMPDS )})
by COMPOS_1:76
.=
((dom J) \/ {(IC SCMPDS )}) \/ (dom I)
by XBOOLE_1:4
.=
(dom (Initialize J)) \/ (dom I)
by COMPOS_1:76
;
then
(dom J) \/ (dom (Initialize I)) c= (dom s) \/ (dom I)
by A3, XBOOLE_1:13;
then
(dom J) \/ (dom (Initialize I)) c= dom (s +* I)
by FUNCT_4:def 1;
then
dom (Initialize I) c= dom (s +* I)
by XBOOLE_1:11;
then
dom ((Initialize s) +* I) c= (dom s) \/ ((dom s) \/ (dom I))
by A1, A4, XBOOLE_1:9;
then A5:
dom ((Initialize s) +* I) c= ((dom s) \/ (dom s)) \/ (dom I)
by XBOOLE_1:4;
I c= Initialize I
by Th9;
then A6:
dom I c= dom (Initialize I)
by GRFUNC_1:8;
I1:
(Initialize s) +* I = s +* (Initialize I)
by Th5;
dom (s +* I) c= dom ((Initialize s) +* I)
by A1, A4, A6, XBOOLE_1:9;
then
dom ((Initialize s) +* I) = dom (s +* I)
by A1, A5, XBOOLE_0:def 10;
hence
(Initialize s) +* I = s +* I
by A13, FUNCT_1:9; verum