Documentation

Complexitylib.Circuits.OracleInlining.Internal

Circuit-level oracle inlining -- proof internals #

theorem Complexity.Circuit.eval_appendOracleAnswer_internal {inputWidth historyWidth queryWidth historyGates queryGates oracleGates : } [NeZero inputWidth] [NeZero historyWidth] [NeZero queryWidth] (history : Circuit Basis.andOr2 inputWidth historyWidth historyGates) (query : Circuit Basis.andOr2 historyWidth queryWidth queryGates) (oracle : Circuit Basis.andOr2 queryWidth 1 oracleGates) (input : BitString inputWidth) :
(history.appendOracleAnswer query oracle).eval input = Fin.append (history.eval input) (oracle.eval (query.eval (history.eval input)))

Internal exact evaluation law for one inlined oracle answer.