A checked catalogue selection with enough pairwise-coprime modulus product for strict symmetric reconstruction.
Selected catalogue entries, in catalogue order.
At least one transform is run, including at bound zero.
Every selected prime supports the requested transform length.
The selected product is strictly larger than twice the supplied bound.
Instances For
Select and validate a sufficient supported catalogue prefix.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Selected moduli in the same order expected by batch CRT.
Instances For
Coefficientwise congruence between a prime list and its erased residue vectors.
- nil {reference : List Int} {x✝ : Nat} : CrtMatches reference [] []
- cons {reference : List Int} {n : Nat} {prime : NttPrime} {primes : List NttPrime} {residue : Vector Int n} {residues : List (Vector Int n)} : (∀ (j : Fin n), reference.getD (↑j) 0 % ↑prime.modulus = residue[j] % ↑prime.modulus) → CrtMatches reference primes residues → CrtMatches reference (prime :: primes) (residue :: residues)
Instances For
Erased NTT residues paired with their coefficientwise congruence proof.
- sound : CrtMatches (intPadTo n (intLinearConvolution left.toList right.toList)) selection.primes self.residues
Instances For
Run an integer convolution at every prime in a checked selection.
Equations
Instances For
Residue vectors in batch-CRT input form.
Equations
- images.residueArray = images.residues.toArray
Instances For
Each erased residue lane is congruent to the reference integer convolution at the corresponding selected modulus.