
theorem
  for a be non negative Real, f be FinSequence of REAL st (for k be Nat
  st k in dom f holds f.k >= a)  holds Product (f) >= a|^(len f)
  proof
    let a be non negative Real, f be FinSequence of REAL such that
    A1: for k be Nat st k in dom f holds f.k >= a;
    a in REAL by XREAL_0:def 1; then
    reconsider g = ((len f)|-> a) as FinSequence of REAL by FINSEQ_2:63;
    for r be Real st r in rng f holds r >= 0
    proof
      let r be Real such that
      B1: r in rng f;
      consider k be object such that
      B2: k in dom f & f.k = r by B1,FUNCT_1:def 3;
      reconsider k as Element of NAT by B2;
      thus thesis by A1,B2;
    end; then
    reconsider f as nonnegative-yielding FinSequence of REAL by PARTFUN3:def 4;
    per cases;
    suppose
      B1: a = 0;
      per cases;
      suppose
        f is empty; then
        Product f = Product g;
        hence thesis by NEWTON:def 1;
      end;
      suppose
        not f is empty; then
        reconsider k = len ((len f)|->a) as non zero Nat;
        Product f >= 0 & Product (k|->a) = 0 by B1;
        hence thesis by B1;
      end;
    end;
    suppose
      a > 0; then
      reconsider a as positive Real;
    A2: for k be Element of NAT st k in dom f holds
      f.k >= ((len f) |-> a).k > 0
    proof
      let k be Element of NAT such that
      B1: k in dom f;
      reconsider k as non zero Nat by B1,FINSEQ_3:25;
      ((len f) |-> a).k = a by B1,Lmkdf;
      hence thesis by A1,B1;
    end;
    len f = len g; then
    dom f = dom g by FINSEQ_3:29; then
    len f = len g & (for k be Element of NAT st k in dom g holds
    f.k >= g.k & g.k > 0) by A2; then
    Product (f) >= Product (g) by NAT_4:54;
    hence thesis by NEWTON:def 1;
  end;
  end;
