let I, J be Program of SCMPDS ; :: thesis: (Initialize I) +* (I ';' J) = Initialize (I ';' J)
A1: (dom I) \/ (dom (I ';' J)) = dom (I ';' J) by Th39, XBOOLE_1:12;
A2: now
let x be set ; :: thesis: ( x in dom (Initialize (I ';' J)) implies ((Initialize I) +* (I ';' J)) . b1 = (Initialize (I ';' J)) . b1 )
assume A3: x in dom (Initialize (I ';' J)) ; :: thesis: ((Initialize I) +* (I ';' J)) . b1 = (Initialize (I ';' J)) . b1
per cases ( x in dom (I ';' J) or x = IC SCMPDS ) by A3, COMPOS_1:77;
end;
end;
dom ((Initialize I) +* (I ';' J)) = (dom (Initialize I)) \/ (dom (I ';' J)) by FUNCT_4:def 1
.= ((dom I) \/ {(IC SCMPDS )}) \/ (dom (I ';' J)) by COMPOS_1:76
.= ((dom I) \/ (dom (I ';' J))) \/ {(IC SCMPDS )} by XBOOLE_1:4
.= dom (Initialize (I ';' J)) by A1, COMPOS_1:76 ;
hence (Initialize I) +* (I ';' J) = Initialize (I ';' J) by A2, FUNCT_1:9; :: thesis: verum