
theorem NF320:
  for a being non empty FinSequence of REAL,
  f being FinSequence of NAT st
  dom f = dom a &
  (for j being Nat st j in rng f holds SumBin (a, f, {j}) <= 1) holds
  [/ (Sum a) \] <= card rng f
  proof
    let a be non empty FinSequence of REAL, f be FinSequence of NAT;

    assume that
    L00: dom f = dom a and
    L10: for j being Nat st j in rng f holds SumBin (a, f, {j}) <= 1;

    consider fr being FinSequence of NAT such that
    L25: dom fr = dom a and
    L26: for j being Nat st j in rng fr holds SumBin (a, fr, {j}) <= 1 and
    L27: ex k being Nat st rng fr = Seg k and
    L28: card rng f = card rng fr by L00,L10,NF305;

    consider i being Nat such that
    L29: rng fr = Seg i by L27;

    deffunc FR(Nat) = SumBin (a, fr, {$1});

    ex p being FinSequence st
    (len p = i &
    (for j being Nat st j in dom p holds p . j = FR(j)))
    from FINSEQ_1:sch 2;
    then consider R1 being FinSequence such that
    L40: len R1 = i and
    L41: for j being Nat st j in dom R1 holds R1 . j = SumBin (a, fr, {j});

    for j being Nat st j in dom R1 holds R1 . j in REAL
    proof
      let j be Nat;
      assume j in dom R1;
      then R1 . j = SumBin (a, fr, {j}) by L41;
      hence R1 . j in REAL by XREAL_0:def 1;
    end;
    then L55: R1 is FinSequence of REAL by NF315;

    R1 is i -element by L40;
    then reconsider R1 as real-valued i -element FinSequence by L55;

    reconsider R2 = (i |-> 1) as real-valued i -element FinSequence;

    for j being Nat st j in Seg i holds R1 . j <= R2 . j
    proof
      let j be Nat;

      assume L71: j in Seg i;

      Seg i = dom R1 by L40,FINSEQ_1:def 3;
      then L78: R1 . j = SumBin (a, fr, {j}) by L71,L41;

      R2 . j = 1 by L71,FINSEQ_2:57;
      hence R1 . j <= R2 . j by L78,L26,L29,L71;
    end;
    then L80: Sum R1 <= Sum R2 by RVSUM_1:82;

    L90: Sum R1 = SumBin (a, fr, rng fr) by L25,L29,L40,L41,NF310;

    Sum R2 = i * 1 by RVSUM_1:80
    .= card rng f by L29,FINSEQ_1:57,L28;
    then Sum a <= card rng f by L80,L90,L25,NF260;
    hence [/ (Sum a) \] <= card rng f by INT_1:65;
  end;
