Definition ipad_v: Bvector EQ.b := of_list_length _ IL.Definition opad_v : Bvector EQ.b := of_list_length _ OL.

(* Specifications: *)
Lemma OPADX:bytes_bits_lists (Vector.to_list opad_v) (PAD.HM.sixtyfour opd).
Lemma IPADX:bytes_bits_lists (Vector.to_list ipad_v) (PAD.HM.sixtyfour ipd).
Lemma BS_pos: (0< HF.BlockSize)%nat.
Lemma opad_ne_ipad : opad_v <> ipad_v.
Lemma Equivalence (P : Blist -> Prop) (HP: forall msg, P msg -> NPeano.Nat.divide 8 (length msg)) (kv : Bvector EQ.b) (m : HMAC_Abstract.Message P): Vector.to_list (HMAC_spec.HMAC h_v EQ.iv_v (HMAC_Abstract.wrappedSAP _ _ EQ.splitAndPad_v) EQ.fpad_v opad_v ipad_v kv m) = bytesToBits (PAD.HM.HmacCore ipd opd (bitsToBytes (HMAC_Abstract.Message2Blist m)) (bitsToBytes (Vector.to_list kv))).