
theorem Th30:
  for n being Ordinal, L being add-associative
  right_complementable right_zeroed well-unital distributive non empty
doubleLoopStr, p,q being Polynomial of n,L holds Support(p*'q) c= {s + t where
  s,t is Element of Bags n : s in Support p & t in Support q}
proof
  let n be Ordinal, L be add-associative right_complementable right_zeroed
  well-unital distributive non empty doubleLoopStr, p,q be Polynomial of n,L;
A1: now
    let b be bag of n;
    consider s being FinSequence of L such that
A2: (p*'q).b = Sum s and
A3: len s = len decomp b and
A4: for k being Element of NAT st k in dom s ex b1, b2 being bag of n
    st (decomp b)/.k = <*b1, b2*> & s/.k = p.b1*q.b2 by POLYNOM1:def 10;
A5: dom s = Seg(len decomp b) by A3,FINSEQ_1:def 3
      .= dom(decomp b) by FINSEQ_1:def 3;
    assume
A6: b in Support(p*'q);
    now
      per cases;
      case
        dom s = {};
        then Seg len s = {} by FINSEQ_1:def 3;
        then len s = 0;
        hence contradiction by A3;
      end;
      case
A7:     dom s <> {};
        set k = the Element of dom s;
        k in dom s by A7;
        then reconsider k as Element of NAT;
        now
          assume
A8:       not( ex k being Element of dom(decomp b), b1,b2 being bag
          of n st (decomp b)/.k = <*b1, b2*> & p.b1 <> 0.L & q.b2 <> 0.L);
A9:       for k being Nat st k in dom s holds s/.k = 0.L
          proof
            let k be Nat;
            assume
A10:        k in dom s;
            then consider b1, b2 being bag of n such that
A11:        (decomp b)/.k = <*b1, b2*> and
A12:        s/.k = p.b1*q.b2 by A4;
            now
              per cases by A5,A8,A10,A11;
              case
                p.b1 = 0.L;
                hence thesis by A12;
              end;
              case
                q.b2 = 0.L;
                hence thesis by A12;
              end;
            end;
            hence thesis;
          end;
          then for k9 being Element of NAT st k9 in dom s & k9 <> k holds s/.
          k9 = 0.L;
          then Sum s = s/.k by A7,POLYNOM2:3
            .= 0.L by A7,A9;
          hence contradiction by A6,A2,POLYNOM1:def 4;
        end;
        then consider
        k being Element of dom(decomp b), b1,b2 being bag of n such
        that
A13:    (decomp b)/.k = <*b1, b2*> and
A14:    p.b1 <> 0.L and
A15:    q.b2 <> 0.L;
        k in dom(decomp b) by A5,A7;
        then reconsider k as Element of NAT;
        consider b19, b29 being bag of n such that
A16:    (decomp b)/.k = <*b19, b29*> and
A17:    b = b19+b29 by A5,A7,PRE_POLY:68;
A18:    b29 = <*b1, b2*>.2 by A13,A16,FINSEQ_1:44
          .= b2;
        b2 is Element of Bags n by PRE_POLY:def 12;
        then
A19:    b2 in Support q by A15,POLYNOM1:def 4;
        b1 is Element of Bags n by PRE_POLY:def 12;
        then
A20:    b1 in Support p by A14,POLYNOM1:def 4;
        b19 = <*b1, b2*>.1 by A13,A16,FINSEQ_1:44
          .= b1;
        hence
        ex s,t being bag of n st s in Support p & t in Support q & b = s+
        t by A20,A19,A17,A18;
      end;
    end;
    hence ex s,t being bag of n st s in Support p & t in Support q & b = s+t;
  end;
  now
    let u be object;
    assume
A21: u in Support(p*'q);
    then reconsider u9 = u as Element of Bags n;
    ex s,t being bag of n st s in Support p & t in Support q & u9 = s+t by A1
,A21;
    hence
    u in {s9 + t9 where s9,t9 is Element of Bags n : s9 in Support p & t9
    in Support q};
  end;
  hence thesis;
end;
