
theorem Th3:
  for n being Ordinal, L being add-associative right_complementable
right_zeroed well-unital distributive domRing-like non trivial doubleLoopStr,
b,b9 being bag of n, a,a9 being non zero Element of L holds Monom(a * a9,b + b9
  ) = Monom(a,b) *' Monom(a9,b9)
proof
  let n be Ordinal, L be add-associative right_complementable right_zeroed
well-unital distributive domRing-like non trivial doubleLoopStr, b,b9 be bag
  of n, a,a9 be non zero Element of L;
  set m1 = Monom(a,b), m2 = Monom(a9,b9);
  set m = Monom(a * a9,b + b9);
  set m3 = m1 *' m2;
  consider s being FinSequence of L such that
A1: m3.(b+b9) = Sum s and
A2: len s = len decomp(b+b9) and
A3: for k being Element of NAT st k in dom s ex b1, b2 being bag of n
  st (decomp(b+b9))/.k = <*b1, b2*> & s/.k = m1.b1*m2.b2 by POLYNOM1:def 10;
  set u = b+b9;
  consider k9 being Element of NAT such that
A4: k9 in dom decomp u and
A5: (decomp u)/.k9 = <*b,b9*> by PRE_POLY:69;
A6: dom s = Seg(len decomp(b+b9)) by A2,FINSEQ_1:def 3
    .= dom(decomp(b+b9)) by FINSEQ_1:def 3;
  then consider b1,b2 being bag of n such that
A7: (decomp u)/.k9 = <*b1, b2*> and
A8: s/.k9 = m1.b1*m2.b2 by A3,A4;
A9: b1 = <*b,b9*>.1 by A5,A7,FINSEQ_1:44
    .= b;
A10: b2 = <*b,b9*>.2 by A5,A7,FINSEQ_1:44
    .= b9;
A11: m2.b9 = m2.(term(m2)) by POLYNOM7:10
    .= coefficient(m2) by POLYNOM7:def 6
    .= a9 by POLYNOM7:9;
A12: now
A13: m2.b9 <> 0.L by A11;
    let u be bag of n;
    assume
A14: u <> b9;
    consider v being bag of n such that
A15: for b9 being bag of n st b9 <> v holds m2.b9 = 0.L by POLYNOM7:def 3;
    assume m2.u <> 0.L;
    then u = v by A15;
    hence contradiction by A14,A15,A13;
  end;
  a * a9 <> 0.L by VECTSP_2:def 1;
  then
A16: a * a9 is non zero by STRUCT_0:def 12;
A17: m1.b = m1.(term(m1)) by POLYNOM7:10
    .= coefficient(m1) by POLYNOM7:def 6
    .= a by POLYNOM7:9;
A18: now
A19: m1.b <> 0.L by A17;
    let u be bag of n;
    assume
A20: u <> b;
    consider v being bag of n such that
A21: for b9 being bag of n st b9 <> v holds m1.b9 = 0.L by POLYNOM7:def 3;
    assume m1.u <> 0.L;
    then u = v by A21;
    hence contradiction by A20,A21,A19;
  end;
A22: now
    let k be Element of NAT;
    assume that
A23: k in dom s and
A24: k <> k9;
    consider b1,b2 being bag of n such that
A25: (decomp u)/.k = <*b1, b2*> and
A26: s/.k = m1.b1*m2.b2 by A3,A23;
A27: now
      assume
A28:  b1 = b & b2 = b9;
      (decomp u).k = (decomp u)/.k by A6,A23,PARTFUN1:def 6
        .= (decomp u).k9 by A4,A5,A25,A28,PARTFUN1:def 6;
      hence contradiction by A6,A4,A23,A24,FUNCT_1:def 4;
    end;
    now
      per cases by A27;
      case
        b1 <> b;
        then m1.b1 = 0.L by A18;
        hence m1.b1 * m2.b2 = 0.L;
      end;
      case
        b2 <> b9;
        then m2.b2 = 0.L by A12;
        hence m1.b1*m2.b2 = 0.L;
      end;
    end;
    hence s/.k = 0.L by A26;
  end;
  then Sum s = s/.k9 by A6,A4,POLYNOM2:3;
  then
A29: m3.(b+b9) <> 0.L by A17,A11,A1,A8,A9,A10,VECTSP_2:def 1;
  then
A30: term(m3) = b + b9 by POLYNOM7:def 5
    .= term(m) by A16,POLYNOM7:10;
A31: coefficient(m3) = m3.(term m3) by POLYNOM7:def 6
    .= m3.(b+b9) by A29,POLYNOM7:def 5
    .= a * a9 by A17,A11,A1,A6,A4,A8,A9,A10,A22,POLYNOM2:3
    .= coefficient(m) by POLYNOM7:9;
  thus m = Monom(coefficient(m),term(m)) by POLYNOM7:11
    .= m3 by A30,A31,POLYNOM7:11;
end;
