Laws.Expand.correct: law of bend-collections-laws-crypto@1.0.0.0 Import: import bend-collections-laws-crypto@1.0.0.0/proofs/crypto/kdf/laws.bend as Laws Lines 22-27 of bend-collections-laws-crypto@1.0.0.0/proofs/crypto/kdf/laws.bend: https://jend.leeeet.dev/read.txt?path=bend-collections-laws-crypto@1.0.0.0/proofs/crypto/kdf/laws.bend&start_line=22&end_line=27 import Base import bend-collections-laws-crypto@1.0.0.0/src/crypto/kdf.bend as KDF import bend-collections-laws-crypto@1.0.0.0/spec/crypto/hkdf.bend as Spec # expand is RFC 5869 section 2.3, and fails exactly where it is undefined. law Expand.correct: for +prk: List<&2, U32> for +info: List<&2, U32> for +len: Nat {KDF.expand(prk, info, len) == as_result(Spec.expand(prk, info, len)) : Result<&2, &2, KDF.KdfError, List<&2, U32>>} Uses (10): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=List https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Nat https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Nat.is_le https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Result https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32 https://jend.leeeet.dev/definition.txt?path=bend-collections-laws-crypto@1.0.0.0/proofs/crypto/kdf/laws.bend&name=as_result https://jend.leeeet.dev/definition.txt?path=bend-collections-laws-crypto@1.0.0.0/proofs/crypto/kdf/proof.bend&name=expand_if https://jend.leeeet.dev/definition.txt?path=bend-collections-laws-crypto@1.0.0.0/spec/crypto/hkdf.bend&name=expand https://jend.leeeet.dev/definition.txt?path=bend-collections-laws-crypto@1.0.0.0/src/crypto/kdf.bend&name=KdfError https://jend.leeeet.dev/definition.txt?path=bend-collections-laws-crypto@1.0.0.0/src/crypto/kdf.bend&name=expand