# Polynomial ring over a finite commutative ring: addition, convolution and degree checks in (ℤ/4ℤ)[x]

[← Guide index](https://ocme.evemisslab.com/en/derivations/) · [Original MKO](https://ocme.evemisslab.com/en/mko/mko-polynomial-ring-over-finite-commutative-ring/)

This is an owner-adopted natural-language teaching guide. Finite/arithmetic checks are not universal proofs; no Lean was run, and review scope is recorded per revision. Original source status labels are retained as historical data. Formulas retain exact TeX; no new semantic AST is invented.

derivation-mko-polynomial-ring-over-finite-commutative-ring-01 · production-20261019-adopted-96



## Goal and scope

Over R=ℤ/4ℤ take f=1+2x and g=2x. Using the coefficient-sequence definition, compute and normalize f+g, f·g, f·f and g·g; prove the top-coefficient formula (fg)_{m+n}=f_m g_n and explain why deg(fg)=deg f+deg g fails here; finally prove that R[x] is not a finite ring.

Works inside the MKO's scope: the coefficient ring ℤ/4ℤ is given by its complete addition and multiplication tables (modulo 4), and polynomials are finite-support coefficient sequences normalized by removing trailing zeros (assumption a1); the coefficient ring is not assumed to be a field, integral domain, UFD or Euclidean domain, and the degree-additivity formula is not used in the presence of zero divisors (assumption a2). It does not treat polynomial ideals, quotient rings or finite fields, and does not change the canonical MKO or its English edition.





## Givens and symbols


- finite_sum_rules
- finite_counting_basics
- mul_zero
- power_laws
- function_def


- G1 — R=ℤ/4ℤ={0,1,2,3}, with addition and multiplication given by the integer operation followed by the remainder on division by 4; this fixes both complete tables, and R is a finite commutative unital ring but not an integral domain (2·2=0).
- G2 — An element of R[x] is a coefficient sequence (a_k)_{k≥0} in R with only finitely many nonzero terms; as a list it is written with trailing zeros removed (normalization). Two polynomials are equal exactly when every coefficient agrees.
- G3 — f=1+2x, i.e. f_0=1, f_1=2 and all other coefficients 0; g=2x, i.e. g_0=0, g_1=2 and all others 0.


- R=\mathbb{Z}/4\mathbb{Z} — the coefficient ring, elements 0, 1, 2, 3
- R[x] — the polynomial ring over R
- f_k — the k-th coefficient of f (the coefficient of x^k)
- \deg f — for nonzero f, the largest k with f_k≠0
- e_n — the coefficient sequence of x^n: 1 at index n, 0 elsewhere





## Rules and sources


- finite_sum_rules · prerequisite — Finite sums: Σ_{i=1}^{0} a_i=0 and Σ_{i=1}^{n+1} a_i=Σ_{i=1}^{n} a_i + a_{n+1}; Σ(a_i+b_i)=Σa_i+Σb_i; Σ c·a_i=c·Σa_i.
- finite_counting_basics · prerequisite — Finite counting: for disjoint finite sets A, B, |A∪B|=|A|+|B|; |A×B|=|A|·|B|; there is a bijection between finite sets ⇔ they have the same number of elements.
- mul_zero · prerequisite — Multiplying by zero: u·0=0. Reason: u·0=u·(0+0)=u·0+u·0; subtracting u·0 from both sides gives 0=u·0.
- power_laws · prerequisite — Integer exponent laws (base nonzero, or exponents positive integers): a^m·a^n=a^{m+n}, (a^m)^n=a^{mn}, (ab)^n=a^n b^n, a^0=1.
- function_def · prerequisite — Function: f:A→B assigns to each a∈A exactly one f(a)∈B. Two functions are equal ⇔ they have the same domain and codomain and agree at every a.
- numeric_evaluation · prerequisite — Exact evaluation of an explicit integer or rational expression; independently recomputable.
- def_unfold · prerequisite — Unfolding a definition: replacing a defined term by its definition (or folding it back) does not change whether a statement is true.
- de_morgan_logic · prerequisite — De Morgan's laws for logic: ¬(P∧Q) ⇔ ¬P∨¬Q and ¬(P∨Q) ⇔ ¬P∧¬Q.
- add_zero · prerequisite — Additive identity: u+0=u.
- injective_surjective_def · prerequisite — Injective: f(a)=f(a′) ⇒ a=a′. Surjective: every b∈B has some a∈A with f(a)=b. Bijective: both; then there is a unique inverse f⁻¹ with f⁻¹∘f=id_A and f∘f⁻¹=id_B.
- contradiction · prerequisite — Proof by contradiction: if assuming ¬P leads to a contradiction (a statement and its negation both hold), then P holds.
- and_intro_elim · prerequisite — Conjunction: from P and Q infer P∧Q; from P∧Q infer P and infer Q.
- mko_polyring_def · cited — For a finite commutative unital ring R, each element of R[x] is a finite-support coefficient sequence. Addition is coefficientwise and multiplication is finite convolution. If 1 differs from 0, the monomials 1, x, x² and so on are distinct by degree, so ordinary R[x] is not a finite ring. · mko-polynomial-ring-over-finite-commutative-ring
- mod_reduce · prerequisite — In ℤ/nℤ an integer m stands for its remainder r on division by n (0≤r<n); two integers stand for the same element exactly when n divides their difference; sums and products are the remainders of the integer sum and product.
- poly_ops · prerequisite — Polynomial operations: (f+g)_k=f_k+g_k and (fg)_k=Σ_{i+j=k} f_i g_j (a finite sum computed in R).
- deg_def · prerequisite — The degree deg f of a nonzero polynomial f is the largest k with f_k≠0; the zero polynomial has no degree.
- L_top_coeff · lemma — Over any commutative ring, if deg f=m and deg g=n, then (fg)_k=0 for k>m+n and (fg)_{m+n}=f_m g_n. Hence deg(fg)=m+n exactly when f_m g_n≠0; otherwise fg=0 or deg(fg)<m+n.





## Main derivation

S01 · impliesBefore

\mathbb{Z}/4\mathbb{Z}\ \text{tables}

After

2+2=0,\ 2\cdot2=0,\ 1\cdot2=2,\ 1\cdot1=1,\ 1\neq0

Conditions: none

Rule: mod_reduce · Uses: G1, mod_reduce

Leaf basis: mod_reduce + numeric_evaluation

Read off the entries needed later from the complete tables: 2+2=4=1·4+0 gives 0; 2·2=4 gives 0; 1·2=2; 1·1=1. Also 1−0=1 is not a multiple of 4, so 1≠0. Since 2·2=0 with 2≠0, R has a zero divisor, which is why MKO assumption a2 forbids using degree additivity here.



S02 · equivalentBefore

f=1+2x,\ g=2x

After

f=(1,2),\ g=(0,2),\ \deg f=\deg g=1

Conditions: none

Rule: deg_def · Uses: G2, G3, S01

Leaf basis: deg_def + def_unfold

Write the normalized coefficient lists f=(1,2) and g=(0,2), with all coefficients from index 2 on equal to 0. In both the last entry is 2≠0, so the lists are normalized, and by the definition of degree deg f=deg g=1.



S03 · equivalentBefore

f+g

After

(1+0,\ 2+2)=(1,0)

Conditions: none

Rule: poly_ops · Uses: S02, S01, poly_ops

Leaf basis: poly_ops + mod_reduce

Addition is coefficientwise in R: index 0 gives 1+0=1, index 1 gives 2+2=0 (S01, N1), and from index 2 on 0+0=0. The result is the unnormalized list (1,0).



S04 · equivalentBefore

f+g=(1,0)

After

f+g=(1)=1,\ \deg(f+g)=0

Conditions: none

Rule: deg_def · Uses: S03, G2

Leaf basis: deg_def + def_unfold

(1,0) has a trailing zero. As sequences, (1,0) and (1) both continue with zeros and agree term by term, so dropping the trailing zero only rewrites the same polynomial: f+g=1. After normalization the last entry is 1≠0, so deg(f+g)=0. Reading (1,0) unnormalized as degree 1 would give one polynomial two degrees.



S05 · equivalentBefore

(fg)_k=\sum_{i+j=k}f_ig_j

After

fg=(0,2,0)

Conditions: none

Rule: poly_ops · Uses: S02, poly_ops

Leaf basis: poly_ops + finite_sum_rules + mul_zero

Multiplication is finite convolution. Since f_i=0 for i≥2 and g_j=0 for j≥2, for k≥3 every term with i+j=k has a zero factor, so only k=0, 1, 2 need computing (S05.1 to S05.3).



S06 · equivalentBefore

fg=(0,2,0)

After

fg=(0,2)=2x,\ \deg(fg)=1\neq 1+1

Conditions: none

Rule: deg_def · Uses: S05, S05.1, S05.2, S05.3, G2

Leaf basis: deg_def + def_unfold

Removing the trailing zero gives fg=(0,2)=2x; its last entry is 2≠0, so deg(fg)=1. But deg f+deg g=2: degree additivity fails here, precisely because 2·2=0 in S05.3.



S07 · equivalentBefore

f\cdot f

After

(1\cdot1,\ 1\cdot2+2\cdot1,\ 2\cdot2)=(1,0,0)=1

Conditions: none

Rule: poly_ops · Uses: S02, S01, poly_ops

Leaf basis: poly_ops + mod_reduce + numeric_evaluation

The same convolution: index 0 gives 1·1=1; index 1 gives 1·2+2·1=4≡0 (N4); index 2 gives 2·2=0; indices from 3 on give 0. Normalizing, f·f=1. So f=1+2x, though of degree 1, is a unit of R[x] with f^{-1}=f; over an integral domain a polynomial of degree 1 could not behave like this.



S08 · equivalentBefore

g\cdot g

After

(0\cdot0,\ 0\cdot2+2\cdot0,\ 2\cdot2)=(0,0,0)=0

Conditions: none

Rule: poly_ops · Uses: S02, S01, poly_ops

Leaf basis: poly_ops + mod_reduce + mul_zero

Index 0 gives 0·0=0; index 1 gives 0·2+2·0=0; index 2 gives 2·2=0; from index 3 on 0. So g·g is the zero polynomial, which has no degree: two nonzero polynomials multiply to 0, and R[x] itself has zero divisors.



S09 · theorem_applicationBefore

\deg f=m,\ \deg g=n

After

(fg)_k=0\ (k>m+n),\ (fg)_{m+n}=f_mg_n

Conditions: f\neq0,\ g\neq0

Rule: L_top_coeff · Uses: S02, S06, S07, S08

Leaf basis: poly_ops + finite_sum_rules + mul_zero + deg_def

By Lemma L_top_coeff (proved in S09.1 and S09.2), all product coefficients above m+n vanish and the coefficient at m+n is the product of the leading coefficients. Only when the product is nonzero is this expressed as degree at most m+n; under this guide's convention the zero polynomial has no degree. Here m=n=1 and f_1=g_1=2, so f_1 g_1=0 and the coefficient at index 2 of f·g, f·f and g·g is 0, matching S06 to S08: the first two drop to degrees 1 and 0, and the last becomes the zero polynomial.



S10 · impliesBefore

h=1+x=(1,1),\ g=(0,2)

After

hg=(0,2,2)=2x+2x^2,\ \deg(hg)=2

Conditions: h_1g_1=2\neq0

Rule: L_top_coeff · Uses: S09, S01, poly_ops

Leaf basis: poly_ops + mod_reduce + deg_def

Contrast: h=1+x has leading coefficient 1. Convolution: index 0 gives 1·0=0; index 1 gives 1·2+1·0=2 (N5); index 2 gives 1·2=2≠0 (N6). So deg(hg)=2=1+1. By L_top_coeff, degrees add exactly when the product of the leading coefficients is nonzero; if one leading coefficient is 1, the zero divisor cannot kill it.



S11 · impliesBefore

x^n=e_n,\ m\neq n

After

e_m\neq e_n

Conditions: 1\neq0\ \text{in}\ R

Rule: mko_polyring_def · Uses: S01, G2

Leaf basis: function_def + injective_surjective_def + def_unfold

The coefficient sequence e_n of x^n is 1 at index n and 0 elsewhere. If m≠n, compare index m: (e_m)_m=1 and (e_n)_m=0; by S01, 1≠0, so the sequences differ and e_m≠e_n. Hence n↦x^n is an injective map from ℕ into R[x].



S12 · impliesBefore

n\mapsto x^n\ \text{injective}

After

R[x]\ \text{is not finite}

Conditions: none

Rule: contradiction · Uses: S11, finite_counting_basics

Leaf basis: contradiction + finite_counting_basics + injective_surjective_def

Suppose R[x] were finite with exactly N elements. By S11, x^0, x^1, up to x^N are N+1 distinct elements of R[x], an injection of {0, 1, up to N} into a set of N elements; its image is a subset with N+1 elements, but a subset of a finite set has no more elements than the set, a contradiction. So R[x] is not a finite ring. Each part with a fixed bound on the degree is finite, for example there are exactly 4^3=64 polynomials of degree less than 3 (N7), but the degree is unbounded.



S13 · impliesBefore

x^2,\ x^4\in R[x]

After

x^2\neq x^4,\ \text{but}\ t^2=t^4\ \text{for every}\ t\in R

Conditions: none

Rule: function_def · Uses: S01, G2, function_def

Leaf basis: function_def + mod_reduce + numeric_evaluation

As polynomials, x^2 and x^4 have coefficients 1 and 0 at index 2, so they differ (S11). As functions on R, substitute all 4 elements: 0^2=0^4=0, 1^2=1^4=1, 2^2=4≡0 and 2^4=16≡0, 3^2=9≡1 and 3^4=81≡1, so the two functions agree (N8 checks all 4 elements of R one by one). There are only 4^4=256 functions from R to R (N9), a finite set; R[x] is not the set of functions, and the finiteness of the functions does not make R[x] finite.



S14 · impliesBefore

\text{S04, S06 to S09, S12}

After

f+g=1,\ fg=2x,\ f^2=1,\ g^2=0;\ R[x]\ \text{infinite}

Conditions: none

Rule: and_intro_elim · Uses: S04, S06, S07, S08, S09, S12

Leaf basis: and_intro_elim

Summary: f+g=1 (normalization needed), fg=2x (degree 1, not 2), f·f=1 (a degree-1 polynomial is a unit), g·g=0 (R[x] has zero divisors); the top-coefficient formula explains when degrees add; 1≠0 makes the monomials distinct, so R[x] is not a finite ring.







## Substeps and lemmas

S05.1 · equivalentBefore

(fg)_0=f_0g_0

After

1\cdot0=0

Conditions: none

Rule: mul_zero · Uses: S02, poly_ops

Leaf basis: mul_zero

i+j=0 only for (0,0): f_0 g_0=1·0=0.



S05.2 · equivalentBefore

(fg)_1=f_0g_1+f_1g_0

After

1\cdot2+2\cdot0=2

Conditions: none

Rule: poly_ops · Uses: S02, S01, poly_ops

Leaf basis: poly_ops + mod_reduce + numeric_evaluation

i+j=1 has the two terms (0,1) and (1,0): 1·2+2·0=2+0=2 (N2).



S05.3 · equivalentBefore

(fg)_2=f_0g_2+f_1g_1+f_2g_0

After

0+2\cdot2+0=0

Conditions: none

Rule: poly_ops · Uses: S02, S01, poly_ops

Leaf basis: poly_ops + mod_reduce + mul_zero

i+j=2 has three terms: f_0 g_2=1·0=0 and f_2 g_0=0·0=0, while the middle term f_1 g_1=2·2=4≡0 (S01, N3). So (fg)_2=0: the product of the leading coefficients is killed by a zero divisor.



S09.1 · impliesBefore

k>m+n,\ i+j=k

After

f_ig_j=0,\ \text{so}\ (fg)_k=0

Conditions: none

Rule: mul_zero · Uses: poly_ops, deg_def, mul_zero

Leaf basis: mul_zero + deg_def + de_morgan_logic + finite_sum_rules

If i≤m and j≤n, then i+j≤m+n<k, a contradiction; so i>m or j>n. By the definition of degree, f_i=0 or g_j=0, and the term is 0 (u·0=0 and 0·u=0). Every term of the convolution sum is 0, so (fg)_k=0.



S09.2 · equivalentBefore

(fg)_{m+n}=\sum_{i+j=m+n}f_ig_j

After

(fg)_{m+n}=f_mg_n

Conditions: none

Rule: poly_ops · Uses: S09.1, poly_ops, deg_def

Leaf basis: poly_ops + mul_zero + add_zero + finite_sum_rules

Among the terms with i+j=m+n: if i<m then j>n and g_j=0; if i>m then f_i=0. Only the term (i,j)=(m,n) remains, so (fg)_{m+n}=f_m g_n. Hence deg(fg)=m+n exactly when f_m g_n≠0. S09.1 and S09.2 together prove Lemma L_top_coeff.







## Reverse audits


- S14 · sufficient_goal_reduction · S04, S06, S07, S08, S09, S12 — Goal G: the computations, the degree explanation and infiniteness stated in the goal. Sufficient condition H: S04, S06 to S09 and S12; H⇒G by conjunction. H is proved forwards from G1 to G3; G is never used as a premise, and degree additivity is never assumed.
- S13 · premise_audit · G2, function_def, mod_reduce — Equality of the functions rests on checking all 4 points of R (a complete check, since the domain is finite); inequality of the polynomials rests on comparing coefficients. The two conclusions do not conflict, because the notions of equality differ.
- S12 · premise_audit · S11, finite_counting_basics, contradiction — It needs N+1 distinct elements for every N, which the general argument of S11 provides; it does not come from checking finitely many values of N.
- S11 · premise_audit · S01, G2, mko_polyring_def — The key premise is 1≠0: in the zero ring 1=0, every x^n equals 0, and R[x] has a single element.
- S10 · premise_audit · S09, L_top_coeff — The conclusion rests on the explicit check h_1 g_1=2≠0, not on 'degrees usually add'.
- S09.2 · inverse_equivalence · poly_ops, mul_zero, add_zero — The removed terms are all 0, and adding or removing zeros does not change the sum, so the two expressions are equal both ways.
- S09.1 · premise_audit · deg_def, mul_zero, de_morgan_logic — Only the definition of degree and multiplication by zero are used; it is not claimed that coefficients with k≤m+n are nonzero.
- S09 · premise_audit · S02, L_top_coeff — The lemma needs only a commutative ring, not an integral domain; it says when degrees add, not that they always do.
- S08 · inverse_equivalence · poly_ops, mod_reduce, mul_zero — Each coefficient recomputes to 0; the zero polynomial and (0,0,0) are the same sequence.
- S07 · inverse_equivalence · poly_ops, mod_reduce — The three coefficients can be recomputed one by one; f·f and 1 agree term by term.
- S06 · inverse_equivalence · G2, deg_def — Normalization is reversible (put the trailing zero back); the degree is read from the normalized list.
- S05.3 · inverse_equivalence · poly_ops, mod_reduce, mul_zero — All three terms can be recomputed; in ℤ, 2·2=4≠0, but in ℤ/4ℤ it is 0.
- S05.2 · inverse_equivalence · poly_ops, mod_reduce — Both terms are listed with none missing or repeated; the result can be recomputed.
- S05.1 · inverse_equivalence · mul_zero — The identity u·0=0 holds both ways.
- S05 · inverse_equivalence · poly_ops, mul_zero, finite_sum_rules — Each coefficient is an evaluation of the same convolution formula and can be recomputed term by term; both sides are the same polynomial.
- S04 · inverse_equivalence · G2, deg_def — Putting the trailing zero back gives the same sequence, so the step is two-way; the degree is read only from the normalized list.
- S03 · inverse_equivalence · poly_ops, mod_reduce — Backward: (1,0)−g=(1−0, 0−2)=(1,2)=f (in ℤ/4ℤ, −2=2), which recovers the left side f+g.
- S02 · inverse_equivalence · G2, deg_def — The lists and the polynomials determine each other: (1,2) reads back as 1+2x and (0,2) as 2x.
- S01 · premise_audit · G1, mod_reduce — Each entry can be recomputed by reduction (N1, N3); the step only reads the tables and derives nothing beyond them.





## Error controls and negative controls

A finite coefficient ring does not give a finite polynomial ringThe misconception identified in the MKO is calling R[x] a finite carrier too. There are only 4 choices for each coefficient, but the degree is unbounded; S11 and S12 prove that R[x] contains arbitrarily many distinct monomials. For a nonnegative integer d, the subset whose coefficients of every exponent at least d vanish, including the zero polynomial, has 4^d elements. For d=0 it contains only the zero polynomial; for d=1 it is the constant subring. Both cases are multiplicatively closed. For d≥2 it is not closed: x^{d−1} and x belong to it, but their product x^d does not.

Degree additivity need not hold with zero divisorsThe second misconception identified in the MKO is to force deg(fg)=deg f+deg g. Over ℤ/4ℤ, (2x)(2x)=0 has no degree, (1+2x)(2x)=2x has degree 1, and (1+2x)^2=1 has degree 0. The correct statement is L_top_coeff: degrees add exactly when the product of the leading coefficients is nonzero (S09, S10).

Normalize before reading the degreeCoefficientwise addition can produce trailing zeros: f+g first comes out as (1,0). (1,0) and (1) are the same polynomial, of degree 0, not 1 (S04). Remove trailing zeros before comparing or reading a degree.


- R=ℤ/4ℤ has only 4 elements, so R[x] is a finite ring → reject — 1≠0 makes 1, x, x² and so on distinct (S11), so R[x] has arbitrarily many elements (S12).
- deg((2x)(2x))=1+1=2 → reject — (2x)(2x)=4x²=0 is the zero polynomial, which has no degree (S08).
- x² and x⁴ take the same value at every element of ℤ/4ℤ, so x²=x⁴ in R[x] → reject — Polynomial equality is coefficientwise; the coefficients at index 2 are 1≠0 (S13).
- 1+2x has degree 1, so it cannot be a unit of R[x] → reject — In ℤ/4ℤ, (1+2x)²=1+4x+4x²=1 (S07), so 1+2x is indeed a degree-one unit. The integral-domain premise belongs to the rejected claim's degree-additivity argument against positive-degree units, not to this mod-4 identity. The coefficient ring here has zero divisors, so that degree argument cannot be applied.





## Result and limitations

In (ℤ/4ℤ)[x], f+g=1 (degree 0 after normalization), fg=2x (degree 1≠2), f·f=1 (f=1+2x is a unit) and g·g=0 (two nonzero polynomials multiply to 0). Over any commutative ring (fg)_{m+n}=f_m g_n, so degrees add exactly when the product of the leading coefficients is nonzero. Since 1≠0, the monomials 1, x, x² and so on are distinct, and R[x] is not a finite ring, although R has only 4 elements.


- L_top_coeff is proved for every commutative ring; the computations in S03 to S08 and S10 belong to ℤ/4ℤ and these particular polynomials. Polynomial ideals, quotient rings and polynomials over finite fields (the MKO's next step) are outside this guide.





## Verification and source binding

9 declared checks for this guide; only the listed expressions are covered.


- source commit: b28a5edbd46279b1db2a3f3f48bb3f447e18899f
- adopted source SHA-256: 483fdc8d305e2bb342f7008783ce4641fe203322aebbac3fe3dbe5604f4c2e83
- original source SHA-256: 0bab65c7935d902ed18c55a3ac5fa3655cf979c044b1d2746c31e5cb7d687baf
- Lean: NOT_RUN · independent AI: NOT_MEASURED

[Same-source full JSON (formulas, ASTs, controls and revision log)](https://ocme.evemisslab.com/data/derivations/production-20261019/guides/derivation-mko-polynomial-ring-over-finite-commutative-ring-01.json)




