Documentation

Cryptlib.Protocols.GroupComm.GroupChatKatzenqt1.Member.CborProofs

Reading back what is written #

Each item written by Cbor reads back as itself, followed by whatever came after it.

theorem Cryptlib.Protocols.GroupComm.GroupChatKatzenqt1.Member.Cbor.foldl_be_aux (k n acc : ℕ) :
n < 256 ^ k → List.foldl (fun (n : ℕ) (b : UInt8) => n * 256 + b.toNat) acc (be k n) = acc * 256 ^ k + n
theorem Cryptlib.Protocols.GroupComm.GroupChatKatzenqt1.Member.Cbor.readHeader_long (b k m n : ℕ) (rest : List UInt8) (hb : b = m * 32 + 24 + k) (hk : k < 4) (hm : m < 8) (hn : n < 256 ^ 2 ^ k) :
readHeader (b.toUInt8 :: (be (2 ^ k) n ++ rest)) = some (m, n, rest)