reserve m,n for Nat;
reserve r for Real;
reserve c for Element of F_Complex;

theorem Th23:
  for i being Integer
  for f being INT -valued FinSequence st i in rng f holds i divides Product f
  proof
    defpred P[FinSequence of INT] means for a being Integer st a in rng
    $1 holds a divides Product $1;
A1: for p being FinSequence of INT, n being Element of INT st P[p] holds
    P[p^<*n*>]
    proof
      let p be FinSequence of INT, n be Element of INT 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 Integer 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,INT_2:2;
      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[<*>INT qua FinSequence of INT];
A7: for p being FinSequence of INT holds P[p] from FINSEQ_2:sch 2(A6,A1);
    let i be Integer;
    let f be INT -valued FinSequence;
    rng f c= INT by RELAT_1:def 19;
    then reconsider g=f as FinSequence of INT by FINSEQ_1:def 4;
    P[g] by A7;
    hence thesis;
  end;
