AND/OR/NOT Basis #
This module provides the AND/OR basis definitions and completeness results.
Definitions (from Complexitylib.Circuits.AndOrNot.Defs) #
AndOrOp— AND/OR operationsBasis.unboundedAndOr— unbounded fan-in AND/OR basisBasis.boundedAndOr k— fan-in ≤kAND/OR basisBasis.andOr2— fan-in exactly 2 AND/OR basis
Main results #
CompleteBasis Basis.unboundedAndOr— proved via DNF constructionCompleteBasis Basis.andOr2— proved via gate-chain simulation fromunboundedAndOr, usingCompleteBasis.of_simulationCompileAndOr.compileFn_eval— exact semantics of that simulationCompileAndOr.compileFn_size_le— its quantitative size overhead
theorem
Complexity.CompileAndOr.compileFn_size_le
{N M G : ℕ}
[NeZero N]
[NeZero M]
(c : Circuit Basis.unboundedAndOr N M G)
:
Gate-chain simulation has size at most source total fan-in plus source size plus one passthrough gate per output.