
theorem NF525:
  for a being non empty FinSequence of REAL,
  Alg being Function of [:REAL, NAT*:],NAT,
  h being non empty FinSequence of NAT* st
  h = OnlinePackingHistory(a, Alg) holds
  (for i being Nat st 1 <= i & i < len a holds
  rng (h . (i + 1)) = rng (h . i) \/ {(h . (i + 1)) . (i + 1)})
  proof
    let a be non empty FinSequence of REAL,
    Alg be Function of [:REAL, NAT*:],NAT,
    h be non empty FinSequence of NAT*;

    assume L00: h = OnlinePackingHistory(a, Alg);

    let i be Nat;

    assume 1 <= i & i < len a;
    then h . (i + 1) = (h . i) ^ <* Alg . (a . (i + 1), h . i) *> &
    (h . (i + 1)) . (i + 1) =  Alg . (a . (i + 1), h . i) by L00,NF520;
    hence rng (h . (i + 1))
    = (rng (h . i)) \/ (rng <* (h . (i + 1)) . (i + 1) *>) by FINSEQ_1:31
    .= rng (h . i) \/ {(h . (i + 1)) . (i + 1)} by FINSEQ_1:38;
  end;
