Documentation

Complexitylib.Circuits.KeyedMinimumTournament.Family.Internal

Parallel keyed-record circuit families -- proof internals #

theorem Complexity.Circuit.eval_parallelKeyedRecordFamily_internal {B : Basis} {inputWidth keyWidth payloadWidth : } [NeZero inputWidth] [NeZero keyWidth] (count : ) (circuits : Fin (count + 1)(internalGates : ) × Circuit B inputWidth (keyWidth + payloadWidth) internalGates) (input : BitString inputWidth) (keys : Fin (count + 1)BitString keyWidth) (payloads : Fin (count + 1)BitString payloadWidth) (heval : ∀ (index : Fin (count + 1)), (circuits index).snd.eval input = Fin.append (keys index) (payloads index)) :
(parallelKeyedRecordFamily count circuits).snd.eval input = BitString.packKeyedRecords count keys payloads
theorem Complexity.Circuit.size_parallelKeyedRecordFamily_internal {B : Basis} {inputWidth keyWidth payloadWidth : } [NeZero inputWidth] [NeZero keyWidth] (count : ) (circuits : Fin (count + 1)(internalGates : ) × Circuit B inputWidth (keyWidth + payloadWidth) internalGates) :
(parallelKeyedRecordFamily count circuits).snd.size = index : Fin (count + 1), (circuits index).snd.size