Documentation

Complexitylib.Classes.PPoly.Uniform.Unrolling.Serializer.Internal

Numeric schedules for streaming tableau serialization -- proof internals #

theorem Complexity.CircuitUnrolling.Serializer.prefixSize_succ_internal (sizeAt : ) (count : ) :
prefixSize sizeAt (count + 1) = prefixSize sizeAt count + sizeAt count
theorem Complexity.CircuitUnrolling.Serializer.prefixSize_eq_sum_ofFn_internal (sizeAt : ) (count : ) :
prefixSize sizeAt count = (List.ofFn fun (index : Fin count) => sizeAt index).sum
theorem Complexity.CircuitUnrolling.Serializer.prefixSize_mono_internal (sizeAt : ) {first second : } (hbound : first second) :
prefixSize sizeAt first prefixSize sizeAt second
theorem Complexity.CircuitUnrolling.Serializer.reverseMember_lt_internal {count rank : } (hrank : rank < count) :
reverseMember count rank < count
theorem Complexity.CircuitUnrolling.Serializer.reverseMember_add_rank_internal {count rank : } (hrank : rank < count) :
reverseMember count rank + rank + 1 = count
theorem Complexity.CircuitUnrolling.Serializer.getElem_indexedRightFoldConnectors_internal (op : AndOrOp) (available count : ) (sizeAt : ) (rank : Fin count) :
(indexedRightFoldConnectors op available count sizeAt)[rank] = indexedRightFoldConnector op available count sizeAt rank
theorem Complexity.CircuitUnrolling.Serializer.length_indexedBatchCopies_internal (available count : ) (sizeAt : ) :
List.length (indexedBatchCopies available count sizeAt) = count
theorem Complexity.CircuitUnrolling.Serializer.getElem_indexedBatchCopies_internal (available count : ) (sizeAt : ) (index : Fin count) :
(indexedBatchCopies available count sizeAt)[index] = indexedBatchCopy available sizeAt index
theorem Complexity.CircuitUnrolling.Serializer.compileRawRightFold_eq_indexed_internal (op : AndOrOp) (identity : Bool) (available : ) (formulas : List BoolFormula) :
BoolFormula.compileRawRightFold op identity available formulas = (BoolFormula.compileRawOutputs available formulas).circuit ++ [CircuitCode.RawGate.constant 0 identity] ++ indexedRightFoldConnectors op available formulas.length fun (index : ) => (List.map BoolFormula.size formulas)[index]?.getD 0