§4.3, p. 42 — cyclic group convolution is cross-correlation
ProvedGeomDL.GroupConv.cyclic_cross_correlationLet and let the cyclic shift group act on the index set by , where the shift is identified with the index . For scalar signals , equation (14) with counting measure becomes
This is the cyclic cross-correlation formula that the book calls convolution and explicitly identifies as cross-correlation in its side-note.
Formalization Note The left-hand side is the general group convolution (14) of this mission, groupConvolution, taken with the counting measure on ZMod n (the side-note's "in case µ is discrete, this means summing over Ω") at the shift CyclicShiftGroup.ofShift u identified with ; the group is the separate type CyclicShiftGroup n acting by . The inverse shift and the resulting sign are therefore part of the claim, not of a definition. makes the cyclic index set the printed .
import Mathlib import Definitions.Def_GeomDL_GroupConv_Model
namespace GeomDL.GroupConv
/-- §4.3, pp. 41–42: equation (14) on `Ω = ℤ_n` with the cyclic shift group `g.v = v - u`
and the counting measure ("in case µ is discrete, this means summing over Ω") is
cross-correlation. -/
theorem cyclic_cross_correlation (n : ℕ) [NeZero n] (x θ : ZMod n → ℝ) (u : ZMod n) :
groupConvolution (MeasureTheory.Measure.count : MeasureTheory.Measure (ZMod n)) x θ
(CyclicShiftGroup.ofShift u) = ∑ v : ZMod n, x v * θ (v + u) := by sorry
end GeomDL.GroupConv
Confirmed by the mission captain (proposal self-audit).
Confirmed by the moderator at approval.