
theorem Th18:
  for n being Ordinal, T being connected TermOrder of n, L being
non empty ZeroStr, p being Series of n,L, b1,b2 being bag of n holds (b1 + b2)
  *' p = b1 *' (b2 *' p)
proof
  let n be Ordinal, T be connected TermOrder of n, L be non empty ZeroStr, p
  be Series of n,L, b1,b2 be bag of n;
  set q = (b1 + b2) *' p, r = b1 *' (b2 *' p);
A1: now
    let u be object;
    assume u in dom q;
    then reconsider b = u as bag of n;
    now
      per cases;
      case
A2:     b1+b2 divides b;
        then consider b3 being bag of n such that
A3:     (b1+b2) + b3 = b by TERMORD:1;
A4:     b1 + (b2+b3) = b by A3,PRE_POLY:35;
        then b2 + b3 = b -' b1 by PRE_POLY:48;
        then
A5:     b2 divides b -' b1 by TERMORD:1;
        b1 divides b by A4,TERMORD:1;
        then r.b = (b2 *' p).(b-'b1) by Def1;
        hence r.b = p.((b-'b1) -' b2) by A5,Def1
          .= p.(b-'(b1+b2)) by PRE_POLY:36
          .= q.b by A2,Def1;
      end;
      case
A6:     not b1+b2 divides b;
        then
A7:     q.b = 0.L by Def1;
        now
          per cases;
          case
A8:         b1 divides b;
A9:         now
              assume b2 divides b-'b1;
              then ((b -' b1) -' b2) + b2 = b-'b1 by PRE_POLY:47;
              then ((b -' b1) -' b2) + b2 + b1 = b by A8,PRE_POLY:47;
              then ((b -' b1) -' b2) + (b2 + b1) = b by PRE_POLY:35;
              hence contradiction by A6,TERMORD:1;
            end;
            r.b = (b2 *' p).(b-'b1) by A8,Def1;
            hence q.b = r.b by A7,A9,Def1;
          end;
          case
            not b1 divides b;
            hence q.b = r.b by A7,Def1;
          end;
        end;
        hence q.b = r.b;
      end;
    end;
    hence q.u = r.u;
  end;
  dom q = Bags n by FUNCT_2:def 1
    .= dom r by FUNCT_2:def 1;
  hence thesis by A1,FUNCT_1:2;
end;
