
theorem Th42:
  for L being Field, p being Polynomial of L for m being Nat st 0
  < m & len p <= m for x being Element of L holds DFT(p,x,m) = aConv(VM(x,m) *
  mConv(p, m))
proof
  let L be Field;
  let p be Polynomial of L;
  let m be Nat;
  assume that
A1: 0 < m and
A2: len p <= m;
  let x be Element of L;
A3: m in NAT by ORDINAL1:def 12;
A4: now
    let u9 be object;
    assume u9 in dom DFT(p, x, m);
    then reconsider u = u9 as Element of NAT by FUNCT_2:def 1;
    per cases;
    suppose
A5:   u < m;
      width VM(x,m) = m by MATRIX_0:24
        .= len mConv(p,m) by A1,Th28;
      then
A6:   len (VM(x,m) * mConv(p,m)) = len VM(x,m) by MATRIX_3:def 4
        .= m by MATRIX_0:24;
      thus (DFT(p,x,m)).u9 = (VM(x,m)*mConv(p,m))*(u+1,1) by A3,A2,A5,Th41
        .= (aConv(VM(x,m)*mConv(p, m))).u9 by A5,A6,Def4;
    end;
    suppose
A7:   m <= u;
      width VM(x,m) = m by MATRIX_0:24
        .= len (mConv(p, m)) by A1,Th28;
      then
A8:   len (VM(x,m) * mConv(p, m)) = len VM(x,m) by MATRIX_3:def 4
        .= m by MATRIX_0:24;
      thus (DFT(p, x, m)).u9 = 0.L by A7,Def6
        .= (aConv(VM(x,m) * mConv(p, m))).u9 by A7,A8,Def4;
    end;
  end;
  dom DFT(p, x, m) = NAT by FUNCT_2:def 1
    .= dom (aConv(VM(x,m) * mConv(p,m))) by FUNCT_2:def 1;
  hence thesis by A4,FUNCT_1:2;
end;
