reserve x,y,z for object, X for set, I for non empty set, i,j for Element of I,
    M0 for multMagma-yielding Function,
    M for non empty multMagma-yielding Function,
    M1, M2, M3 for non empty multMagma,
    G for Group-like multMagma-Family of I,
    H for Group-like associative multMagma-Family of I;

theorem Th19:
  for N0 being multMagma-yielding Function
  holds FreeAtoms(M0 +* N0) c= FreeAtoms(M0) \/ FreeAtoms(N0)
proof
  let N0 be multMagma-yielding Function;
  A1: Carrier(M0+*N0) = Carrier M0 +* Carrier N0 by PRALG_1:13;
  now
    let i,x be object;
    assume [i,x] in FreeAtoms(M0 +* N0);
    then A2: i in dom(M0 +* N0) & x in (Carrier(M0+*N0)).i by Th7;
    per cases;
    suppose A3: i in dom N0;
      then i in dom Carrier N0 by PRALG_1:def 14;
      then x in (Carrier N0).i by A1, A2, FUNCT_4:13;
      then [i,x] in FreeAtoms(N0) by A3, Th7;
      hence [i,x] in FreeAtoms(M0) \/ FreeAtoms(N0) by XBOOLE_0:def 3;
    end;
    suppose A4: not i in dom N0;
      i in dom M0 \/ dom N0 by A2, FUNCT_4:def 1;
      then A5: i in dom M0 by A4, XBOOLE_0:def 3;
      not i in dom Carrier N0 by A4, PRALG_1:def 14;
      then x in (Carrier M0).i by A1, A2, FUNCT_4:11;
      then [i,x] in FreeAtoms(M0) by A5, Th7;
      hence [i,x] in FreeAtoms(M0) \/ FreeAtoms(N0) by XBOOLE_0:def 3;
    end;
  end;
  hence thesis by RELAT_1:def 3;
end;
