reserve D for non empty set,
  i,j,k,l for Nat,
  n for Nat,
  x for set,
  a,b,c,r,r1,r2 for Real,
  p,q for FinSequence of REAL,
  MR,MR1 for Matrix of REAL;

theorem Th47:
  for p being nonnegative FinSequence of REAL for q holds q =
Infor_FinSeq_of p iff len q = len p & for k st k in dom q holds q.k = p.k * log
  (2,p.k)
proof
  let p be nonnegative FinSequence of REAL;
  let q;
  set pp = mlt(p,FinSeq_log(2,p));
A1: len p = len FinSeq_log(2,p) by Def6;
  then
A2: len pp = len p by MATRPROB:30;
  hereby
    assume
A3: q = Infor_FinSeq_of p;
    thus len q = len p & for k st k in dom q holds q.k = p.k * log(2,p.k)
    proof
A4:   dom p = dom q by A2,A3,FINSEQ_3:29;
      thus len q = len p by A1,A3,MATRPROB:30;
      let k such that
A5:   k in dom q;
A6:   q.k = p.k * (FinSeq_log(2,p)).k by A3,RVSUM_1:59;
A7:   k in dom FinSeq_log(2,p) by A1,A2,A3,A5,FINSEQ_3:29;
      per cases by A5,A4,Def1;
      suppose
        p.k=0;
        hence thesis by A6;
      end;
      suppose
        p.k>0;
        hence thesis by A6,A7,Def6;
      end;
    end;
  end;
  assume that
A8: len q = len p and
A9: for k st k in dom q holds q.k = p.k * log(2,p.k);
A10: dom q = dom p by A8,FINSEQ_3:29;
  len q = len pp by A1,A8,MATRPROB:30;
  then
A11: dom q = dom pp by FINSEQ_3:29;
A12: dom p = dom FinSeq_log(2,p) by A1,FINSEQ_3:29;
  now
    let k be Nat such that
A13: k in dom q;
A14: pp.k = p.k * (FinSeq_log(2,p)).k by RVSUM_1:59;
    per cases by A10,A13,Def1;
    suppose
A15:  p.k=0;
      hence q.k = 0 * log(2,p.k) by A9,A13
        .= pp.k by A14,A15;
    end;
    suppose
      p.k>0;
      then (FinSeq_log(2,p)).k = log(2,p.k) by A12,A10,A13,Def6;
      hence pp.k = p.k * log(2,p.k) by RVSUM_1:59
        .= q.k by A9,A13;
    end;
  end;
  hence thesis by A11,FINSEQ_1:13;
end;
