
theorem Th23:
  for L be add-associative right_zeroed right_complementable
  Abelian left_unital distributive commutative associative non trivial
  doubleLoopStr for p,q be Polynomial of L for x be Element of L holds eval((
  Leading-Monomial(p))*'q,x) = eval(Leading-Monomial(p),x) * eval(q,x)
proof
  let L be add-associative right_zeroed right_complementable Abelian
  left_unital distributive commutative associative non trivial
  doubleLoopStr;
  let p1,q be Polynomial of L;
  let x be Element of L;
  set p=Leading-Monomial(p1);
  defpred P[Nat] means for q be Polynomial of L holds len q = $1 implies eval(
  p*'q,x) = eval(p,x)*eval(q,x);
A1: for k be Nat st for n be Nat st n < k holds P[n] holds P[k]
  proof
    let k be Nat;
    assume
A2: for n be Nat st n < k holds for q be Polynomial of L holds len q =
    n implies eval(p*'q,x) = eval(p,x) * eval(q,x);
    let q be Polynomial of L;
    assume
A3: len q = k;
    per cases;
    suppose
A4:   len q <> 0;
      set LMq = Leading-Monomial(q);
      consider r be Polynomial of L such that
A5:   len r < len q and
A6:   q = r+Leading-Monomial(q) and
      for n be Element of NAT st n < len q-1 holds r.n = q.n by A4,Th16;
      thus eval(p*'q,x) = eval(p*'r+p*'LMq,x) by A6,POLYNOM3:31
        .= eval(p*'r,x) + eval(p*'LMq,x) by Th19
        .= eval(p,x)*eval(r,x) + eval(p*'LMq,x) by A2,A3,A5
        .= eval(p,x)*eval(r,x) + eval(p,x)*eval(LMq,x) by Lm3
        .= eval(p,x)*(eval(r,x) + eval(LMq,x)) by VECTSP_1:def 7
        .= eval(p,x) * eval(q,x) by A6,Th19;
    end;
    suppose
      len q = 0;
      then
A7:   q = 0_.(L) by Th5;
      hence eval(p*'q,x) = eval(0_.(L),x) by POLYNOM3:34
        .= 0.L by Th17
        .= eval(p,x) * 0.L
        .= eval(p,x) * eval(q,x) by A7,Th17;
    end;
  end;
A8: for n be Nat holds P[n] from NAT_1:sch 4(A1);
  len q = len q;
  hence thesis by A8;
end;
