Skip to content

Adds theories/algebra/ZqCentered.ec providing the centered (signed) i…#995

Open
mbbarbosa wants to merge 1 commit into
mainfrom
feature-zqcentered
Open

Adds theories/algebra/ZqCentered.ec providing the centered (signed) i…#995
mbbarbosa wants to merge 1 commit into
mainfrom
feature-zqcentered

Conversation

@mbbarbosa
Copy link
Copy Markdown
Contributor

Adds theories/algebra/ZqCentered.ec providing the centered (signed)
integer representation of Z/pZ elements.

Two abstract theories:

  • ZqCentered (extends ZModRing, ge2_p): centered representative crepr
    on Zq and on int, range/round-trip lemmas, additive/multiplicative
    algebraic laws, centered absolute value "|_|" with triangle/product
    inequalities, negation symmetry abs_zpN.
  • ZqCenteredField (extends ZqCentered, prime_p): negation lemmas
    creprN, creprN2, creprND.

This is based on a theory (not authored by me) that is used in the proof of security of dilithium:
https://github.com/formosa-crypto/dilithium/blob/368acabdf65c7756a6f5696ff11e8c051f991769/proofs/utils/ZModFieldExtras.eca

@strub strub force-pushed the feature-zqcentered branch from 7859b9d to f7dd389 Compare May 8, 2026 06:53
ZModPCentered.ec introduces ZpCentered / ZpCenteredField with the
canonical centered representative (crepr) on Z/pZ, supporting
distributions, absolute value, triangle / product / monotonicity
inequalities, and prime-only negation symmetry.

PolyReduce.ec adds PolyReduceZpCentered / PolyReduceZpCenteredField:
centered-representation infinity-norm machinery on polyXnD1, plus a
DynMatrix-based vector/matrix layer with predicate-style _le / _lt
bound checks and computed inf_norm soundness lemmas.
@mbbarbosa mbbarbosa force-pushed the feature-zqcentered branch from 4ae0255 to 13abc66 Compare May 13, 2026 18:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant