Hint Rewrite Zlength_intlist_to_bytelist : sublist.

(* Specifications: *)
Lemma skipn_intlist_to_bytelist:
forall i m, skipn (4*i) (intlist_to_bytelist m) = intlist_to_bytelist (skipn i m).
Lemma firstn_intlist_to_bytelist:
forall i m, firstn (4*i) (intlist_to_bytelist m) = intlist_to_bytelist (firstn i m).
Lemma sublist_intlist_to_bytelist:
forall i j m,
sublist (i * WORD) (j * WORD) (intlist_to_bytelist m) =
intlist_to_bytelist (sublist i j m).
Lemma bytelist_to_intlist_to_bytelist':
forall nl: list byte,
Nat.divide (Z.to_nat WORD) (length nl) ->
intlist_to_bytelist (bytelist_to_intlist nl) = nl.
Lemma Ndivide_Zdivide_length:
forall {A} n (al: list A),
0 <= n ->
(Nat.divide (Z.to_nat n) (length al) <->
(n | Zlength al)).
Lemma bytelist_to_intlist_to_bytelist:
forall nl: list byte,
Z.divide WORD (Zlength nl) ->
intlist_to_bytelist (bytelist_to_intlist nl) = nl.
Lemma length_bytelist_to_intlist: forall n l,
length l = (Z.to_nat WORD * n)%nat ->
length (bytelist_to_intlist l) = n.
Lemma big_endian_integer4:
forall c0 c1 c2 c3,
big_endian_integer (c0::c1::c2::c3::nil) =
Int.or (Int.shl (Int.repr (Byte.unsigned c0)) (Int.repr 24))
(Int.or (Int.shl (Int.repr (Byte.unsigned c1)) (Int.repr 16))
(Int.or (Int.shl (Int.repr (Byte.unsigned c2)) (Int.repr 8))
(Int.repr (Byte.unsigned c3)))).