Documentation

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

Numeric next-atom schedules -- proof internals #

theorem Complexity.CircuitUnrolling.Serializer.length_nextHaltedOrSchedule_internal (haltWire available oldWire : ) (nextSchedule : CircuitCode.RawCircuit) :
List.length (nextHaltedOrSchedule haltWire available oldWire nextSchedule) = nextHaltedOrScheduleSize (List.length nextSchedule)
theorem Complexity.CircuitUnrolling.Serializer.length_nextStateFormulaSchedule_internal (caseCount stateCount workCount T configBase choiceWire available stateIndex haltStateIndex : ) (selectedAt choiceAt : Bool) (caseStateIndexAt inputSymbolIndexAt outputSymbolIndexAt : ) (workSymbolIndexAt : ) :
List.length (nextStateFormulaSchedule caseCount stateCount workCount T configBase choiceWire available stateIndex haltStateIndex selectedAt choiceAt caseStateIndexAt inputSymbolIndexAt outputSymbolIndexAt workSymbolIndexAt) = nextStateFormulaScheduleSize caseCount workCount T selectedAt choiceAt
theorem Complexity.CircuitUnrolling.Serializer.length_nextHeadFormulaSchedule_internal (caseCount stateCount workCount T configBase choiceWire available tapeIndex target haltStateIndex : ) (selectedAt : Bool) (choiceAt : Bool) (caseStateIndexAt inputSymbolIndexAt outputSymbolIndexAt : ) (workSymbolIndexAt : ) :
List.length (nextHeadFormulaSchedule caseCount stateCount workCount T configBase choiceWire available tapeIndex target haltStateIndex selectedAt choiceAt caseStateIndexAt inputSymbolIndexAt outputSymbolIndexAt workSymbolIndexAt) = nextHeadFormulaScheduleSize caseCount workCount T selectedAt choiceAt
theorem Complexity.CircuitUnrolling.Serializer.length_nextCellCopySchedule_internal (stateCount tapeCount T configBase tapeIndex position symbolIndex : ) :
List.length (nextCellCopySchedule stateCount tapeCount T configBase tapeIndex position symbolIndex) = nextCellCopyScheduleSize
theorem Complexity.CircuitUnrolling.Serializer.length_nextWrittenCellFormulaSchedule_internal (caseCount stateCount workCount T configBase choiceWire available tapeIndex position symbolIndex haltStateIndex : ) (selectedAt choiceAt : Bool) (caseStateIndexAt inputSymbolIndexAt outputSymbolIndexAt : ) (workSymbolIndexAt : ) :
List.length (nextWrittenCellFormulaSchedule caseCount stateCount workCount T configBase choiceWire available tapeIndex position symbolIndex haltStateIndex selectedAt choiceAt caseStateIndexAt inputSymbolIndexAt outputSymbolIndexAt workSymbolIndexAt) = nextWrittenCellFormulaScheduleSize caseCount workCount T selectedAt choiceAt
theorem Complexity.CircuitUnrolling.Serializer.length_nextFormulaSchedule_internal (caseCount stateCount workCount T configBase choiceWire available atomKind stateIndex tapeIndex position symbolIndex haltStateIndex : ) (selectedAt : Bool) (choiceAt : Bool) (caseStateIndexAt inputSymbolIndexAt outputSymbolIndexAt : ) (workSymbolIndexAt : ) :
List.length (nextFormulaSchedule caseCount stateCount workCount T configBase choiceWire available atomKind stateIndex tapeIndex position symbolIndex haltStateIndex selectedAt choiceAt caseStateIndexAt inputSymbolIndexAt outputSymbolIndexAt workSymbolIndexAt) = nextFormulaScheduleSize caseCount workCount T atomKind selectedAt choiceAt
theorem Complexity.CircuitUnrolling.Serializer.compileRaw_nextHeadFormula_eq_schedule_internal {k : } (tm : NTM k) (T configBase choiceWire available : ) (tape : TapeSlot k) (target : Fin (T + 1)) :
theorem Complexity.CircuitUnrolling.Serializer.compileRaw_nextInputCellFormula_eq_schedule_internal {k : } (tm : NTM k) (T configBase choiceWire available : ) (position : Fin (T + 2)) (symbol : Γ) :
BoolFormula.compileRaw available (nextFormula tm T configBase choiceWire (ConfigAtom.cell TapeSlot.input position symbol)) = nextCellCopySchedule (Fintype.card tm.Q) (k + 2) T configBase TapeSlot.input.index position (symbolIndex symbol)
theorem Complexity.CircuitUnrolling.Serializer.compileRaw_nextWritableMarkerFormula_eq_schedule_internal {k : } (tm : NTM k) (T configBase choiceWire available : ) (tape : WritableSlot k) (position : Fin (T + 2)) (symbol : Γ) (hposition : position = 0) :
BoolFormula.compileRaw available (nextFormula tm T configBase choiceWire (ConfigAtom.cell tape.toTapeSlot position symbol)) = nextCellCopySchedule (Fintype.card tm.Q) (k + 2) T configBase tape.toTapeSlot.index position (symbolIndex symbol)
theorem Complexity.CircuitUnrolling.Serializer.compileRaw_nextWrittenCellFormula_eq_schedule_internal {k : } (tm : NTM k) (T configBase choiceWire available : ) (tape : WritableSlot k) (position : Fin (T + 2)) (symbol : Γ) (hposition : position 0) :
BoolFormula.compileRaw available (nextFormula tm T configBase choiceWire (ConfigAtom.cell tape.toTapeSlot position symbol)) = nextWrittenCellFormulaSchedule (transitionCases tm).length (Fintype.card tm.Q) k T configBase choiceWire available (↑tape.toTapeSlot.index) (↑position) (↑(symbolIndex symbol)) (nextHaltStateIndex tm) (writtenCellEffectSelectedAt tm tape symbol) (effectCaseChoiceAt tm) (effectCaseStateIndexAt tm) (effectCaseInputSymbolIndexAt tm) (effectCaseOutputSymbolIndexAt tm) (effectCaseWorkSymbolIndexAt tm)