Module docstring
{"# Characters from additive to multiplicative monoids
Let A be an additive monoid, and M a multiplicative one. An additive character of A with
values in M is simply a map A → M which intertwines the addition operation on A with the
multiplicative operation on M.
We define these objects, using the namespace AddChar, and show that if A is a commutative group
under addition, then the additive characters are also a group (written multiplicatively). Note that
we do not need M to be a group here.
We also include some constructions specific to the case when A = R is a ring; then we define
mulShift ψ r, where ψ : AddChar R M and r : R, to be the character defined by
x ↦ ψ (r * x).
For more refined results of a number-theoretic nature (primitive characters, Gauss sums, etc)
see Mathlib.NumberTheory.LegendreSymbol.AddCharacter.
Implementation notes
Due to their role as the dual of an additive group, additive characters must themselves be an additive group. This contrasts to their pointwise operations which make them a multiplicative group. We simply define both the additive and multiplicative group structures and prove them equal.
For more information on this design decision, see the following zulip thread: https://leanprover.zulipchat.com/#narrow/stream/116395-maths/topic/Additive.20characters
Tags
additive character ","### Definitions related to and results on additive characters ","## Additive characters of additive abelian groups ","## Additive characters of rings "}