reflexivity. Qed.
Definition hashblocks: list int -> list int -> list int:= SHA256.hash_blocks.
Definition d := 16%nat.
Definition HBS_eq : forall r msg : list int,
hashblocks r msg =
match msg with
| List.nil => r
| _ :: _ => hashblocks (hashblock r (firstn d msg)) (skipn d msg)
end := SHA256.hash_blocks_equation.

Lemma HASH m: SHA256.Hash m = intlist_to_bytelist (hashblocks ir (gap m)).
unfold SHA256.Hash.