reserve a, b, n for Nat,
  r for Real,
  f for FinSequence of REAL;
reserve p for Prime;

theorem
  for f being FinSequence of NAT st a in rng f holds a divides Product f
proof
  defpred P[FinSequence of NAT] means for a being Nat st a in rng
  $1 holds a divides Product $1;
A1: for p being FinSequence of NAT, n being Element of NAT st P[p] holds P[p
  ^<*n*>]
  proof
    let p be FinSequence of NAT, n be Element of NAT such that
A2: P[p];
    set p1 = p^<*n*>;
A3: rng p1 = rng p \/ rng <*n*> by FINSEQ_1:31;
A4: Product p1 = Product p * n by RVSUM_1:96;
    let a be Nat such that
A5: a in rng p1;
    per cases by A5,A3,XBOOLE_0:def 3;
    suppose
      a in rng p;
      hence thesis by A2,A4,NAT_D:9;
    end;
    suppose
      a in rng <*n*>;
      then a in {n} by FINSEQ_1:39;
      then a = n by TARSKI:def 1;
      hence thesis by A4;
    end;
  end;
A6: P[<*>NAT qua FinSequence of NAT];
  for p being FinSequence of NAT holds P[p] from FINSEQ_2:sch 2(A6,A1);
  hence thesis;
end;
