theorem
  (m|J)+(m|(I\J)) = m
  proof
    let i be object;
    assume
A1: i in I;
A3: ((m|J)+(m|(I\J))).i = (m|J).i+(m|(I\J)).i by PRE_POLY:def 5;
    per cases;
    suppose
A2:   i in J;
      then not i in I\J by XBOOLE_0:def 5;
      then (m|J).i = m.i & (m|(I\J)).i = 0 by A1,A2,BAR;
      hence thesis by A3;
    end;
    suppose
A2:   not i in J;
      then i in I\J by A1,XBOOLE_0:def 5;
      then (m|J).i = 0 & (m|(I\J)).i = m.i by A2,BAR;
      hence thesis by A3;
    end;
  end;
