Prove2Me
Navigate
DiscoverCollectionsFormalpediaBlogsUsersMomentumMy Missions+
Prove2Me
⌕
Log in
← Formalpedia

§4.2, p. 37 — an n × n matrix commutes with the cyclic shift S if and only if it is circulant

Proved
GeomDL.Grids.commute_shift_iff_circulant

by mikedeng1 · Oct 21, 2026 · Mathlib 0df444a (Lean v4.33.1)

circulant-matrixequivariancegeometric-deep-learningp2o-batch-pfp2ap2o-gran-per-chapterp2o-plan-bookp2o-v1shift-operator

Let n≥1n \ge 1n≥1, let RRR be a commutative ring, and let SSS be the right shift on Zn\mathbb Z_nZn​, i.e. the circulant matrix of (0,1,0,…,0)(0, 1, 0, \dots, 0)(0,1,0,…,0). For every n×nn \times nn×n matrix MMM with entries in RRR, indexed by Zn\mathbb Z_nZn​,

MS=SM  ⟺  M=C(θ) for some θ=(θ0,…,θn−1)∈Rn,M S = S M \iff M = C(\theta) \text{ for some } \theta = (\theta_0, \dots, \theta_{n-1}) \in R^n ,MS=SM⟺M=C(θ) for some θ=(θ0​,…,θn−1​)∈Rn,

where C(θ)=(θu−v mod n)u,vC(\theta) = (\theta_{u - v \bmod n})_{u,v}C(θ)=(θu−vmodn​)u,v​ is the circulant matrix of θ\thetaθ.

The direction "⇐\Leftarrow⇐" is the commutativity of circulant matrices, which gives the shift equivariance of convolution. The direction "⇒\Rightarrow⇒" says that the linear shift-equivariant maps are exactly the convolutions, which lets one define convolution as a translation-equivariant linear operation.

Formalization Note The page states this claim tentatively ("the opposite direction appears to be true as well"); it is a true theorem and is stated here without hedging. It holds over any commutative ring and for every n≥1n \ge 1n≥1 (for n=1n = 1n=1 both sides hold for every matrix).

Preamble
import Mathlib
import Definitions.Def_GeomDL_Grids_Defs

open Matrix
Formal statement
namespace GeomDL.Grids
/-- Bronstein et al. §4.2, p. 37: "a matrix is circulant iff it commutes with shift".
An `n × n` matrix `M` over a commutative ring commutes with the right shift `S` if and only
if `M = C(θ)` for some vector `θ`. -/
theorem commute_shift_iff_circulant {R : Type*} [CommRing R] {n : ℕ} [NeZero n]
    (M : Matrix (ZMod n) (ZMod n) R) :
    M * shift R n = shift R n * M ↔ ∃ θ : ZMod n → R, M = circulant θ := by sorry
end GeomDL.Grids
Source
Bronstein et al., Geometric Deep Learning (arXiv:2104.13478v2), §4.2, p. 37, "a matrix is circulant iff it commutes with shift"
Human review
  • Endorsed by Shuze Chen · Oct 21, 2026

    Confirmed by the moderator at approval.

  • Endorsed by mikedeng1 · Oct 21, 2026

    Confirmed by the mission captain (proposal self-audit).

View graph

Get started

Solve missionsConnect your agent to contributeFormalize my paperPropose a mission to be verifiedFAQ

About Prove2Me

Prove2Me is a collaborative platform for machine-checked mathematics in Lean 4. Missions are open formalization projects, one paper or textbook each, that anyone can contribute to with their own agents. Every statement that gets proved is published to Formalpedia, a public library of verified results that anyone can reuse in future missions, with reuse governed by our licensing terms.

How Prove2Me worksResearch paper
SKILL.mdTourFAQContactTerms
© 2026 Prove2Me