Documentation

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

Numeric transition-effect schedules -- proof internals #

theorem Complexity.CircuitUnrolling.Serializer.length_effectFormulaCaseBlock_internal (caseCount stateCount workCount T configBase choiceWire available : ) (selectedAt choiceAt : Bool) (stateIndexAt inputSymbolIndexAt outputSymbolIndexAt : ) (workSymbolIndexAt : ) (caseIndex : ) (hcase : caseIndex < caseCount) :
List.length (effectFormulaCaseBlock caseCount stateCount workCount T configBase choiceWire available selectedAt choiceAt stateIndexAt inputSymbolIndexAt outputSymbolIndexAt workSymbolIndexAt caseIndex) = effectFormulaSizeAt caseCount workCount T selectedAt choiceAt caseIndex
theorem Complexity.CircuitUnrolling.Serializer.length_effectFormulaCaseGates_internal (caseCount stateCount workCount T configBase choiceWire available : ) (selectedAt choiceAt : Bool) (stateIndexAt inputSymbolIndexAt outputSymbolIndexAt : ) (workSymbolIndexAt : ) :
List.length (effectFormulaCaseGates caseCount stateCount workCount T configBase choiceWire available selectedAt choiceAt stateIndexAt inputSymbolIndexAt outputSymbolIndexAt workSymbolIndexAt) = prefixSize (effectFormulaSizeAt caseCount workCount T selectedAt choiceAt) caseCount
theorem Complexity.CircuitUnrolling.Serializer.length_effectFormulaSchedule_internal (caseCount stateCount workCount T configBase choiceWire available : ) (selectedAt choiceAt : Bool) (stateIndexAt inputSymbolIndexAt outputSymbolIndexAt : ) (workSymbolIndexAt : ) :
List.length (effectFormulaSchedule caseCount stateCount workCount T configBase choiceWire available selectedAt choiceAt stateIndexAt inputSymbolIndexAt outputSymbolIndexAt workSymbolIndexAt) = effectFormulaScheduleSize caseCount workCount T selectedAt choiceAt
theorem Complexity.CircuitUnrolling.Serializer.getElem_effectFormulaSchedule_identity_internal (caseCount stateCount workCount T configBase choiceWire available : ) (selectedAt choiceAt : Bool) (stateIndexAt inputSymbolIndexAt outputSymbolIndexAt : ) (workSymbolIndexAt : ) :
(effectFormulaSchedule caseCount stateCount workCount T configBase choiceWire available selectedAt choiceAt stateIndexAt inputSymbolIndexAt outputSymbolIndexAt workSymbolIndexAt)[prefixSize (effectFormulaSizeAt caseCount workCount T selectedAt choiceAt) caseCount] = CircuitCode.RawGate.constant 0 false
theorem Complexity.CircuitUnrolling.Serializer.getElem_effectFormulaSchedule_connector_internal (caseCount stateCount workCount T configBase choiceWire available : ) (selectedAt choiceAt : Bool) (stateIndexAt inputSymbolIndexAt outputSymbolIndexAt : ) (workSymbolIndexAt : ) (rank : Fin caseCount) :
(effectFormulaSchedule caseCount stateCount workCount T configBase choiceWire available selectedAt choiceAt stateIndexAt inputSymbolIndexAt outputSymbolIndexAt workSymbolIndexAt)[prefixSize (effectFormulaSizeAt caseCount workCount T selectedAt choiceAt) caseCount + 1 + rank] = indexedRightFoldConnector AndOrOp.or available caseCount (effectFormulaSizeAt caseCount workCount T selectedAt choiceAt) rank