let I, J be Program of SCM+FSA ; :: thesis: for s being State of SCM+FSA st Initialized J c= s holds
s +* (Initialized I) = s +* I
let s be State of SCM+FSA ; :: thesis: ( Initialized J c= s implies s +* (Initialized I) = s +* I )
set s1 = s +* I;
assume A1:
Initialized J c= s
; :: thesis: s +* (Initialized I) = s +* I
then A2:
dom (Initialized J) c= dom s
by GRFUNC_1:8;
(dom J) \/ (dom (Initialized I)) =
(dom J) \/ (({(intloc 0 )} \/ (dom I)) \/ {(IC SCM+FSA )})
by Th43
.=
(dom J) \/ (({(intloc 0 )} \/ {(IC SCM+FSA )}) \/ (dom I))
by XBOOLE_1:4
.=
((dom J) \/ ({(intloc 0 )} \/ {(IC SCM+FSA )})) \/ (dom I)
by XBOOLE_1:4
.=
(((dom J) \/ {(intloc 0 )}) \/ {(IC SCM+FSA )}) \/ (dom I)
by XBOOLE_1:4
.=
(dom (Initialized J)) \/ (dom I)
by Th43
;
then
(dom J) \/ (dom (Initialized I)) c= (dom s) \/ (dom I)
by A2, XBOOLE_1:13;
then
(dom J) \/ (dom (Initialized I)) c= dom (s +* I)
by FUNCT_4:def 1;
then A3:
dom (Initialized I) c= dom (s +* I)
by XBOOLE_1:11;
A13:
dom (s +* I) = (dom s) \/ (dom I)
by FUNCT_4:def 1;
A14:
dom (s +* (Initialized I)) = (dom s) \/ (dom (Initialized I))
by FUNCT_4:def 1;
I c= Initialized I
by Th26;
then A15:
dom I c= dom (Initialized I)
by GRFUNC_1:8;
then A16:
dom (s +* I) c= dom (s +* (Initialized I))
by A13, A14, XBOOLE_1:9;
dom (s +* (Initialized I)) c= (dom s) \/ ((dom s) \/ (dom I))
by A3, A13, A14, XBOOLE_1:9;
then
dom (s +* (Initialized I)) c= ((dom s) \/ (dom s)) \/ (dom I)
by XBOOLE_1:4;
then A17:
dom (s +* (Initialized I)) = dom (s +* I)
by A13, A16, XBOOLE_0:def 10;
hence
s +* (Initialized I) = s +* I
by A17, FUNCT_1:9; :: thesis: verum