Recursive Uhlig circuit #
This module iterates the exact finite two-copy layer. Scalar synthesis data is passed explicitly, so the construction introduces no instance-search burden. It proves semantic correctness and exact cost identities for the recursion.
Width left after depth equal prefix blocks have been restored.
Equations
- Algebraic.MassProduction.UhligRecursion.recursiveWidth prefixWidth baseWidth 0 = baseWidth
- Algebraic.MassProduction.UhligRecursion.recursiveWidth prefixWidth baseWidth depth.succ = prefixWidth + Algebraic.MassProduction.UhligRecursion.recursiveWidth prefixWidth baseWidth depth
Instances For
Number of copies after depth two-copy layers.
Equations
Instances For
Gate count determined by the chosen base synthesis and every explicit routing/decoding layer above it.
Equations
- One or more equations did not get rendered due to their size.
- Algebraic.MassProduction.UhligRecursion.recursiveGateCount prefixWidth baseWidth base 0 function = 1 * base.gateCount function
Instances For
The recursive circuit obtained by using the supplied synthesis at the base and one exact Uhlig layer per recursive step.
Equations
- One or more equations did not get rendered due to their size.
- Algebraic.MassProduction.UhligRecursion.recursiveCircuit prefixWidth baseWidth base 0 function = (base.circuit function).replicateScalar 1
Instances For
The recursive circuit emits exactly recursiveGateCount gates.
Iterating the finite layer computes exactly 2 ^ depth independent
copies of the original function.
Exact recursive cost identity. The first summand at each resource is explicit routing overhead, and the second is the recursively shared resource computation.