
theorem PAP:
  for f be complex-valued FinSequence, n be Nat holds
    Product f = (Product (f|n)) * (Product (f/^n))
  proof
    let f be complex-valued FinSequence, n be Nat;
    defpred P[Nat] means Product f = (Product (f|$1))*(Product (f/^$1));
    A1: P[0] by RVSUM_2:42;
    A2: for k be Nat holds P[k] implies P[k+1]
    proof
      let k be Nat such that
      B1: P[k];
      reconsider g = f/^k as complex-valued FinSequence;
      per cases;
      suppose
        g is empty; then
        (f/^k)/^1 is empty; then
        C1: (f/^(k+1)) is empty by NEWTON04:35; then
        (f|(k+1))^(f/^(k+1)) = f|(k+1) by FINSEQ_1:34;
        hence thesis by C1,RVSUM_2:42;
      end;
      suppose
        C1: g is non empty; then
        C2: Product g = g.1 * Product (g/^1) by FIF
        .= (f/^k).1 * Product (f/^(k+1)) by NEWTON04:35
        .= f.(k+1)* Product (f/^(k+1)) by NEWTON04:38;
        reconsider r = f.(k+1) as Complex;
        len f > k by C1,FINSEQ_5:32; then
        consider m be Nat such that
        C4: len f = k + m by NAT_1:10;
        reconsider m as non zero Nat by C1,C4;
        f is (k+m)-element FinSequence by C4,CARD_1:def 7; then
        C6: f|(k+1) = (f|k)^<*f.(k+1)*> by FNK;
        Product f = Product (f|k) * f.(k+1) * Product (f/^(k+1)) by B1,C2
        .= Product (f|(k+1)) * Product (f/^(k+1)) by C6,RVSUM_1:96;
        hence thesis;
      end;
    end;
    for x be Nat holds P[x] from NAT_1:sch 2(A1,A2);
    hence thesis;
  end;
