Global Opaque WORD.

(* Specifications: *)
Lemma S256abs_data:
forall hashed data,
(LBLOCKz | Zlength hashed) ->
Zlength data < CBLOCKz ->
s256a_data (S256abs hashed data) = data.
Lemma S256abs_hashed:
forall hashed data,
(LBLOCKz | Zlength hashed) ->
Zlength data < CBLOCKz ->
s256a_hashed (S256abs hashed data) = hashed.
Lemma s256a_hashed_divides:
forall a, (LBLOCKz | Zlength (s256a_hashed a)).
Lemma s256a_data_len:
forall a: s256abs,
Zlength (s256a_data a) = Zlength a mod CBLOCKz.
Lemma s256a_data_Zlength_less:
forall a, Zlength (s256a_data a) < CBLOCKz.
Lemma hashed_data_recombine:
forall a,
intlist_to_bytelist (s256a_hashed a) ++ s256a_data a = a.