Capacity and error arithmetic for one round of extraction #
Sparse rounding provides a hash field covering both lengths. The condenser rate controls its output and hence the total seed length. Power identities verify the sharp leftover-hash budget and the sum of the two half-errors. Unary computation uses only existing bounded rounding and arithmetic rules.
theorem
Algebraic.Cutwidth.Extractor.Internal.oneShotCondenserExponent_unaryFn
{n ell e : List Bool → ℕ}
(hn : Complexity.UnaryFn n)
(hell : Complexity.UnaryFn ell)
(he : Complexity.UnaryFn e)
:
Complexity.UnaryFn fun (z : List Bool) => oneShotCondenserExponent (n z) (ell z) (e z)
theorem
Algebraic.Cutwidth.Extractor.Internal.oneShotCondenserOutputBits_unaryFn
{n ell e : List Bool → ℕ}
(hn : Complexity.UnaryFn n)
(hell : Complexity.UnaryFn ell)
(he : Complexity.UnaryFn e)
:
Complexity.UnaryFn fun (z : List Bool) => oneShotCondenserOutputBits (n z) (ell z) (e z)
theorem
Algebraic.Cutwidth.Extractor.Internal.oneShotHashExponent_unaryFn
{n ell e : List Bool → ℕ}
(hn : Complexity.UnaryFn n)
(hell : Complexity.UnaryFn ell)
(he : Complexity.UnaryFn e)
:
Complexity.UnaryFn fun (z : List Bool) => oneShotHashExponent (n z) (ell z) (e z)
theorem
Algebraic.Cutwidth.Extractor.Internal.oneShotCondenserHalfDegree_unaryFn
{n ell e : List Bool → ℕ}
(hn : Complexity.UnaryFn n)
(hell : Complexity.UnaryFn ell)
(he : Complexity.UnaryFn e)
:
Complexity.UnaryFn fun (z : List Bool) => 3 ^ oneShotCondenserExponent (n z) (ell z) (e z)
theorem
Algebraic.Cutwidth.Extractor.Internal.oneShotHashHalfDegree_unaryFn
{n ell e : List Bool → ℕ}
(hn : Complexity.UnaryFn n)
(hell : Complexity.UnaryFn ell)
(he : Complexity.UnaryFn e)
:
Complexity.UnaryFn fun (z : List Bool) => 3 ^ oneShotHashExponent (n z) (ell z) (e z)