(* Note use of sha_splitandpad_blocks and sha_splitandpad_inc' (= concat the blocks) *)

Theorem fold_hash_blocks_eq : forall (l : Blist) (ls : list Blist),
length l = 512%nat ->
Forall (fun x => length x = 512%nat) ls ->
fold_left sha_h (l :: ls) sha_iv =
hash_blocks_bits _ B sha_h sha_iv (l ++ concat ls).