Documentation

Complexitylib.Models.RandomAccessMachine.Structured.GateStep.Internal

Structured RAM serialized-gate step — proof internals #

theorem Complexity.RAM.Structured.GateStep.program_measured_internal (gate : CircuitCode.RawGate) (wires : List Bool) (value0 value1 : Bool) (hvalue0 : wires[gate.input₀]? = some value0) (hvalue1 : wires[gate.input₁]? = some value1) :
∃ (final : Store) (cost : ) (space : ), Exec program (inputStore gate wires) final (stepCount gate) cost space cost timeBound gate wires space spaceBound gate wires final GateEval.outputReg = Input.bitValue (gate.eval value0 value1) final (memoBase gate + wires.length) = Input.bitValue (gate.eval value0 value1) ∀ (index : ) (hindex : index < wires.length), final (memoBase gate + index) = Input.bitValue wires[index]
theorem Complexity.RAM.Structured.GateStep.program_exec_internal (gate : CircuitCode.RawGate) (wires : List Bool) (value0 value1 : Bool) (hvalue0 : wires[gate.input₀]? = some value0) (hvalue1 : wires[gate.input₁]? = some value1) :
∃ (final : Store) (cost : ) (space : ), Exec program (inputStore gate wires) final (stepCount gate) cost space final GateEval.outputReg = Input.bitValue (gate.eval value0 value1) final (memoBase gate + wires.length) = Input.bitValue (gate.eval value0 value1) ∀ (index : ) (hindex : index < wires.length), final (memoBase gate + index) = Input.bitValue wires[index]