# Coset Codes—Part I: Introduction and Geometrical Classification

**Date**: 03/09/2026
**Domain**: computer_science/information_theory
**Taxonomy**: academic/research_paper
**Filter**: Active comments

---

## Overall Feedback

Here are some overall reactions to the document.

**Eight-Class Taxonomy Is Presented as Exhaustive Without a Completeness Argument**

Section VI introduces eight code classes defined by three binary axes (partition depth, encoder rate type, constraint-length doubling), and Section VII's folk theorem—'it takes two states to get 1.5 dB, four states to get 3 dB…'—is derived by surveying only these eight classes plus known prior codes. However, the paper never establishes that these three axes span all structurally distinct binary coset trellis code families. Encoder structures such as partial-unit-memory codes, mixed-depth partition chains, rate-k/(k+r) encoders with r > 2, or non-uniform memory profiles are not shown to be subsumed by the eight classes or provably inferior. Without a completeness argument—for example, via Lemma 5's equivalence to G^N/phi^mu G^N codes within stated parameter bounds—the folk theorem is better characterized as a conjecture based on the codes surveyed rather than a provable bound. It would be helpful to either state explicitly that the taxonomy is a useful but potentially incomplete organizing framework, or to provide a formal argument that all binary coset codes of bounded depth and state complexity are represented by one of the eight classes.

**Effective Coding Gain Rule of Thumb Is Applied Selectively, Weakening Cross-Class Comparisons**

The paper converts fundamental coding gain to effective coding gain using the rule that every factor-of-two increase in the normalized error coefficient Ñ₀ costs approximately 0.2 dB, stated as valid near error rates of 10⁻⁶. This rule is applied quantitatively to Ungerboeck, Wei, and the new generic classes—including Class V and VI codes with Ñ₀ in the hundreds or thousands—but is explicitly declined for lattice codes on the grounds that 'the rule of thumb is questionable when the number of nearest neighbors is so high.' This asymmetry means that lattice codes are penalized only qualitatively while trellis codes receive a quantitative γ_eff, even for cases where the large-Ñ₀ caveat applies equally. Furthermore, for several Class V and VI codes, N₀ entries are missing entirely in Table XI, yet effective gain values are still quoted or implicitly compared. The conclusion that 'trellis codes are better than lattice codes' in effective coding gain rests on this inconsistent evidentiary basis. It would be helpful to either apply a consistent (even approximate) effective-gain penalty to lattice codes, extend the calculation to include Ñ₁ and Ñ₂ for all codes as done for Ungerboeck-type codes in Table V, or clearly flag which γ_eff values are unreliable due to large or missing error coefficients.

**Partition Regularity Is Asserted but Not Verified for Higher-Dimensional Code Classes**

The distance analysis throughout Section VI relies on the Ungerboeck distance bound, which requires that the partition labeling be regular in the sense of Section IV-C. The paper states that 'regular labelings exist for all partitions used in all the codes covered in this paper,' but provides no verification for the non-mod-2 partitions appearing in Classes III–VIII, such as D₈⊥/RE₈, H₁₆/Λ₁₆, D₁₆/H₁₆, and the depth-3 and depth-4 chains involving Λ₁₆ and Λ₃₂. For these partitions, the Ungerboeck distance bound need not hold with equality—as the paper itself acknowledges for the E₈/RE₈/2E₈ chain, where a special alternative partition must be invoked—and the labeling is not obviously linear. If regularity fails for any of these partitions, the stated d²_min values and hence the fundamental coding gain figures in Table XI would need to be re-examined. It would be helpful to add a lemma or explicit cross-reference to Part II confirming regularity for each partition chain used in Classes III–VIII, or to flag which distance claims depend on this unverified assumption.

**The Fundamental Volume Argument Relies on an Informally Justified Lattice Structure for the Time-Zero Set**

Section IV-B defines the fundamental volume V(C) of a trellis code via the time-zero lattice Λ₀, which is asserted to be a lattice with the qualification 'ordinarily, Λ₀ is a lattice.' This qualification is never made precise: no conditions on the convolutional encoder C or the labeling c(a) are given under which Λ₀ is guaranteed to be a lattice rather than merely a union of cosets of Λ'. For nonlinear trellis codes, which the paper explicitly allows, Λ₀ need not be closed under addition and the volume argument—and hence the formula V(C) = 2^r V(Λ) and the entire definition of fundamental coding gain γ(C)—breaks down. The paper's claim that 'all codes in this paper are distance-invariant' partially addresses this, but distance-invariance does not imply that Λ₀ is a lattice. Since γ(C) underlies all subsequent tables and comparative conclusions, it would be helpful to either add a lemma identifying the precise conditions under which Λ₀ is a lattice and verify those conditions for each of the eight code classes, or to provide an alternative derivation of V(C) that applies to the nonlinear case.

**Normalization Conventions for Complexity and Error Coefficients Are Not Uniform Across Tables**

The paper's central comparative claims rest on Tables IV–XI, but the normalization of key parameters is not applied uniformly. The error coefficient N₀ is reported as an absolute count in some tables and as a normalized-per-two-dimensions quantity Ñ₀ in others, without always making this distinction explicit in table headers. Decoding complexity N_D is sometimes per-2N-dimensions and sometimes per-two-dimensions, and the Viterbi complexity formula β·2^(k+r) defined in Section V is not restated in table captions. More fundamentally, the Viterbi complexity and the partition-decoding complexity from Table III are added together despite using different computational primitives (real additions and comparisons versus binary operations from Part II's trellis algorithms), with no verification that these measure equivalent cost units. For high-dimensional codes in Classes V and VI where partition complexity dominates and the approximation symbol '~' is used, no error bound is given. It would be helpful to add a standardized normalization note to each table header, to state explicitly whether additions and comparisons are counted as equal cost, and to verify that all per-two-dimensions figures in Table XI are computed under the same convention as the corresponding entries in Tables IV–X.

**Comparison Against Capacity Bounds Is Absent, Leaving the Asymptotic Gap and the Sphere-Gain Convention Uncharacterized**

The paper's abstract claims that coset codes 'approach channel capacity,' yet no section quantifies how close any tabulated code comes to the Shannon limit or the Poltyrev sphere-packing exponent at the same spectral efficiency. The discussion in Section VII is entirely comparative among surveyed codes, so the observation that γ_eff appears to saturate near 5–5.5 dB for 64–256 states is not contextualized against what a capacity-achieving code would require. A related convention issue compounds this gap: the paper excludes the sphere gain G_⊗ from all its own gain calculations, yet when comparing against Calderbank–Sloane codes—which were originally presented and optimized using an asymptotic gain that includes G_⊗—the comparison is made directly against Tables IX and XI. This systematically understates the CS codes' intended performance advantage for large N. It would be helpful to include a brief comparison of the best tabulated γ values against the capacity-achieving coding gain at the same redundancy, and to add a column in Tables IX and XI showing γ + G_⊗(N) for each code, so that the conclusion that 'the Calderbank–Sloane codes do not rise to the top' is not convention-dependent.

**Fundamental coding gain presented as the primary performance metric without consistently accounting for error coefficient in cross-code comparisons**

The paper defines fundamental coding gain γ(C) = 2^{−ρ(C)} · d²_min(C) as the central figure of merit and uses it to rank codes throughout Sections V–VII. The paper does acknowledge the error coefficient Ñ₀ and introduces an effective coding gain γ_eff via a rule of thumb (every factor-of-two increase in Ñ₀ costs ~0.2 dB). However, several comparisons in Section VII are drawn primarily on γ rather than γ_eff. For example, the discussion of codes achieving γ = 2^{3/2} (4.52 dB) notes that the GCS/Wei eight-state four-dimensional code achieves this gain with Ñ₀ = 44, while the 16-state Class IV code achieves the same γ with Ñ₀ = 12 (Table XI), yet the text treats them as broadly equivalent in the 'folk theorem.' Table XI shows that the Class I D₄/RD₄ code has γ_eff = 2.32 dB versus the Class II D₄/RD₄ code at γ_eff = 2.69 dB, a 0.37 dB difference that is not negligible. It would be helpful to clarify, especially in the folk theorem of Section VII, that the state counts cited implicitly assume a 'reasonably small error coefficient,' since the same γ can be achieved with far fewer states at the cost of a large Ñ₀ that substantially erodes effective gain. Readers might note that for lattice codes the paper explicitly declines to compute γ_eff because the rule of thumb is 'questionable when the number of nearest neighbors is so high,' which makes the direct lattice-vs.-trellis comparison in conclusion (2) of Section VII somewhat asymmetric.

**Assumption that the time-zero lattice Λ₀ is always a lattice may not hold for non-linear or non-systematic encoders**

In Section IV-B, the fundamental volume V(C) of a trellis code is derived by defining the time-zero lattice Λ₀ as the set of all possible first elements c₀ of code sequences starting from the zero state. The paper states 'Ordinarily, Λ₀ is a lattice' and applies Lemma 1 to conclude V(Λ₀) = 2^{−k} V(Λ'). The qualifier 'ordinarily' is left without a precise condition. For a rate-k/(k+r) encoder, the 2^k possible outputs at time zero (given zero initial state) form the union of 2^k cosets of Λ', which is a lattice only if those 2^k cosets themselves form a sublattice of Λ — i.e., only if the set of time-zero coset representatives is closed under addition modulo Λ'. This is guaranteed when the labeling is linear (Lemma 6 and the Ungerboeck labeling of Lemma 2), but the paper also considers non-linear codes (e.g., the CS-type codes and codes based on mod-4 partitions with non-linear labelings). It would be helpful to state explicitly the condition under which Λ₀ is a lattice, or to note that for non-linear codes the fundamental volume argument is an approximation. This matters because the coding gain formula γ(C) = 2^{−ρ(C)} d²_min(C) is presented as exact, and its derivation rests on V(C) = V(Λ₀) being well-defined via Lemma 1.

**Status**: [Pending]

---

## Detailed Comments (25)

### 1. Shape Gain Definition Is Circular

**Status**: [Pending]

**Quote**:
> The total coding gain $\gamma_{\text{tot}}(\mathcal{C})$ is the product of the fundamental coding gain $\gamma(\mathcal{C})$ with the shape gain $\gamma_s$ of the finite constellation ($\gamma_s$ is defined as $\gamma_{\text{tot}}(\mathcal{C})/\gamma(\mathcal{C})$ and is approximately equal to the ratio of the normalized second moment [7] of an $N$-cube to that of the region of $N$-space in which the constellation is contained).

**Feedback**:
The definition '$\gamma_s = \gamma_{\text{tot}}(\mathcal{C})/\gamma(\mathcal{C})$' is tautological: it defines $\gamma_s$ as the ratio of two quantities, one of which ($\gamma_{\text{tot}}$) has not been independently defined prior to this sentence. The sentence first asserts $\gamma_{\text{tot}} = \gamma \cdot \gamma_s$ and then defines $\gamma_s = \gamma_{\text{tot}}/\gamma$, which is logically circular. The substantive definition—the ratio of normalized second moments—appears only as an approximation in the parenthetical. It would be helpful to reverse the logical order: first define $\gamma_s$ geometrically as the ratio of the normalized second moment of an $N$-cube to that of the constellation boundary region, then derive $\gamma_{\text{tot}} = \gamma(\mathcal{C}) \cdot \gamma_s$ as a consequence.

---

### 2. Variable n Reused for Two Different Quantities in Sphere-Gain Formula

**Status**: [Pending]

**Quote**:
> the shape gain of an $N$-sphere over an $N$-cube, which for $N$ even is $G_{\otimes} = \pi (n + 1) / [6(n!)^{1 / n}]$, where $n = N / 2$; thus $G_{\otimes} = \pi /3$ (0.20 dB) for $N = 2$, $\pi /2^{3 / 2}$ (0.46 dB) for $N = 4$, $5\pi /6(24)^{1 / 4}$ (0.73 dB) for $N = 8$, with a limit of $\pi e / 6$ (1.53 dB) as $N\to \infty$ [1].)

**Feedback**:
The variable $n$ is introduced locally as $n = N/2$, but $n$ is already used throughout the surrounding section as the number of bits per $N$ dimensions (e.g., 'To transmit $n$ bits per $N$ dimensions'). This dual use creates a genuine ambiguity. The numerical values are self-consistent—for $N=2$ ($n=1$): $\pi(2)/[6 \cdot 1] = \pi/3$ ✓; for $N=4$ ($n=2$): $\pi(3)/[6\sqrt{2}] = \pi/2^{3/2}$ ✓—but the variable collision is a concrete notational problem. It would be helpful to substitute $m$ for $n$ throughout the parenthetical: 'where $m = N/2$; thus $G_{\otimes} = \pi(m+1)/[6(m!)^{1/m}]$' to eliminate the collision with the information-theoretic $n$.

---

### 3. R Described as 'Rotation' but Has Determinant −2, Not +1

**Status**: [Pending]

**Quote**:
> The most important scaled orthogonal transformation for our purposes is the rotation operator $R$, defined by the $2 \times 2$ matrix
> 
> $$
> R \triangleq \left( \begin{array}{cc} 1 & 1 \\ 1 & -1 \end{array} \right).
> $$
> 
> $R\mathbb{Z}^2$ is a version of $\mathbb{Z}^2$ obtained by rotating $\mathbb{Z}^2$ by $45^\circ$ and scaling by $2^{1/2}$

**Feedback**:
The matrix $R = [[1,1],[1,-1]]$ has $\det(R) = (1)(-1)-(1)(1) = -2$, so it is not a rotation (which requires $\det = +1$) but a reflection composed with scaling by $\sqrt{2}$. A pure rotation by $45°$ scaled by $\sqrt{2}$ would be $[[1,-1],[1,1]]$. While the broader term 'scaled orthogonal transformation' used elsewhere in the section is correct, calling $R$ specifically a 'rotation operator' and saying it 'rotates by $45°$' is geometrically inaccurate. It would be helpful to rewrite 'obtained by rotating $\mathbb{Z}^2$ by $45°$ and scaling by $2^{1/2}$' as 'obtained by applying a scaled orthogonal (reflection-rotation) transformation of scale factor $2^{1/2}$,' and to rename $R$ the 'scaled orthogonal operator' rather than 'rotation operator.'

---

### 4. Regularity Condition (b) References Partition Chain with Repeated φ-Exponent

**Status**: [Pending]

**Quote**:
> b) if it is an Ungerboeck labeling and the Ungerboeck distance bound always holds with equality, e.g., any Ungerboeck labeling for $Z^2 / RZ^2 / 2Z^2 / 2RZ^2 = G / \phi G / \phi^3 G / \phi^3 G$;

**Feedback**:
The complex chain $G/\phi G/\phi^3 G/\phi^3 G$ has the last two entries identical (both $\phi^3 G$), which cannot be a valid partition chain since strict containment is required at each step. The real chain $Z^2/RZ^2/2Z^2/2RZ^2$ corresponds to the complex chain $G/\phi G/\phi^2 G/\phi^3 G$ (four distinct lattices with depths 0, 1, 2, 3), since $\phi^2 G = 2G \simeq 2Z^2$ and $\phi^3 G = 2\phi G \simeq 2RZ^2$. The exponent sequence '1, 3, 3' in '$\phi G/\phi^3 G/\phi^3 G$' appears to be a typographical error for '1, 2, 3'. It would be helpful to rewrite '$G / \phi G / \phi^3 G / \phi^3 G$' as '$G / \phi G / \phi^2 G / \phi^3 G$'.

---

### 5. Induction Termination in Lemma 2 Proof Does Not Verify Λ₀ = Λ

**Status**: [Pending]

**Quote**:
> **Sketch of proof (by induction, from $k = K - 1$ down to $k = 0$):** Assume that $\Lambda_{k + 1}$ is a binary lattice such that $\Lambda / \Lambda_{k + 1} / \Lambda'$ is a partition chain; $\Lambda_K = \Lambda'$ is certainly such a lattice. If $\Lambda_{k + 1} \neq \Lambda$, then a vector $\mathbf{g}_k$ exists in $\Lambda$ that is not in $\Lambda_{k + 1}$ but has order 2 mod $\Lambda_{k + 1}$, i.e., such that $\mathbf{g}_k + \mathbf{g}_k \in \Lambda_{k + 1}$ (see part II). Let $\Lambda_k$ then be the union of $\Lambda_{k + 1}$ and its coset $\Lambda_{k + 1} + \mathbf{g}_k$; $\Lambda_k$ is clearly a lattice, which by construction is a sublattice of $\Lambda$ and has $\Lambda_{k + 1}$ (and thus $\Lambda'$ ) as a sublattice.

**Feedback**:
The induction constructs $\Lambda_k \subseteq \Lambda$ at each step, but the termination condition does not explicitly verify that $\Lambda_0 = \Lambda$ rather than merely $\Lambda_0 \subsetneq \Lambda$. The proof needs an explicit argument that after $K$ downward steps, $|\Lambda_0/\Lambda'| = 2^K = |\Lambda/\Lambda'|$, which together with $\Lambda_0 \subseteq \Lambda$ forces $\Lambda_0 = \Lambda$. It would be helpful to add: 'The induction terminates when $k=0$; since $|\Lambda_0/\Lambda'| = 2^K = |\Lambda/\Lambda'|$ and $\Lambda_0 \subseteq \Lambda$, we conclude $\Lambda_0 = \Lambda$.'

---

### 6. Approximate Equality Symbol in Lemma 2 Statement Inconsistent with Proof

**Status**: [Pending]

**Quote**:
> Then there is a sequence of lattices $\Lambda_0 = \Lambda$, $\Lambda_1, \dots, \Lambda_K \approx \Lambda'$ such that $\Lambda_0 / \Lambda_1 / \dots / \Lambda_K$ is a lattice partition chain and each partition $\Lambda_k / \Lambda_{k+1}$ is two-way, $0 \leq k \leq K-1$.

**Feedback**:
The lemma statement writes $\Lambda_K \approx \Lambda'$ (approximate equality), but the proof sketch uses exact equality '$\Lambda_K = \Lambda'$ is certainly such a lattice.' The coset decomposition $\Lambda = \Lambda' + \{\sum a_k g_k\}$ in the lemma body also requires $\Lambda_K = \Lambda'$ exactly. If $\approx$ denotes lattice isomorphism rather than equality, the coset decomposition formula would need to be restated in terms of $\Lambda_K$. It would be helpful to rewrite '$\Lambda_K \approx \Lambda'$' as '$\Lambda_K = \Lambda'$' to match the proof and the coset decomposition formula.

---

### 7. Fundamental Volume Derivation Relies on Unverified Lattice Closure of Λ₀

**Status**: [Pending]

**Quote**:
> Ordinarily, $\Lambda_0$ is a lattice, which we call the time-zero lattice. By Lemma 1, $V(\Lambda_0) = 2^{-k}V(\Lambda')$; since $V(\Lambda') = 2^{k+r}V(\Lambda)$, we also have $V(\Lambda_0) = 2^r V(\Lambda)$.

**Feedback**:
The qualifier 'ordinarily' is left without a precise condition. For a rate-$k/(k+r)$ encoder, the $2^k$ possible time-zero outputs form the union of $2^k$ cosets of $\Lambda'$, which is a lattice only if those cosets are closed under addition modulo $\Lambda'$. This is guaranteed when the labeling is linear (Lemma 6 and the Ungerboeck labeling of Lemma 2), but the paper also considers non-linear codes. For non-linear codes, $\Lambda_0$ need not be a lattice, and the step $V(\Lambda_0) = 2^{-k}V(\Lambda')$—and hence the entire coding-gain formula $\gamma(\mathcal{C}) = 2^{-\rho(\mathcal{C})}d^2_{\min}(\mathcal{C})$—is not justified. Since $\gamma(\mathcal{C})$ underlies all subsequent tables and comparative conclusions, it would be helpful to state explicitly the condition under which $\Lambda_0$ is a lattice (e.g., linearity of the labeling map) and verify that condition for each of the eight code classes.

---

### 8. Coding Gain Formula References d²_min(Λ') Where d²_min(Λ) Is Intended

**Status**: [Pending]

**Quote**:
> Relative to $\gamma (\Lambda) = 2^{-\rho (\Lambda)}d_{\min}^{2}(\Lambda^{\prime})$, the gain $\gamma (\mathbb{C})$ is greater by the distance gain factor of $d_{\min}^{2}(\mathbb{C}) / d_{\min}^{2}(\Lambda)$, offset by a power loss of $2^{-\rho (C)}$ due to constellation expansion.

**Feedback**:
The formula $\gamma(\Lambda) = 2^{-\rho(\Lambda)}d^2_{\min}(\Lambda')$ appears to contain a typographical error: the coding gain of $\Lambda$ should be expressed in terms of $d^2_{\min}(\Lambda)$, not $d^2_{\min}(\Lambda')$. From the general definition $\gamma(\Lambda) = d^2_{\min}(\Lambda)/V(\Lambda)^{2/N} = 2^{-\rho(\Lambda)}d^2_{\min}(\Lambda)$. The subsequent distance gain factor $d^2_{\min}(\mathcal{C})/d^2_{\min}(\Lambda)$ in the same sentence further confirms that $d^2_{\min}(\Lambda)$ is the intended reference. It would be helpful to rewrite '$\gamma(\Lambda) = 2^{-\rho(\Lambda)}d^2_{\min}(\Lambda')$' as '$\gamma(\Lambda) = 2^{-\rho(\Lambda)}d^2_{\min}(\Lambda)$'.

---

### 9. Fundamental Coding Gain Formula Uses Wrong Exponent in Table Caption

**Status**: [Pending]

**Quote**:
> The fundamental coding gain $\gamma$ is given by the formula $2^{-e}d_{\mathrm{min}}^2$ and is also given in decibels.

**Feedback**:
The paper defines $\gamma(\mathcal{C}) = 2^{-\rho} \cdot d^2_{\min}$, where $\rho$ is the normalized redundancy per two dimensions. For the one-dimensional Ungerboeck codes, $\rho = 2$ (fixed for all rows). The formula as written, $2^{-e} \cdot d^2_{\min}$, uses the log of the state count $e$ in place of $\rho$. Checking: for the 8-state ($e=3$) code, $d^2_{\min}=10$: $2^{-3}\cdot 10 = 1.25$, but $2^{-2}\cdot 10 = 2.5$ ✓ (matching the table). The formula $2^{-e}d^2_{\min}$ is therefore wrong for all rows where $e \neq \rho$. It would be helpful to rewrite '$2^{-e}d_{\mathrm{min}}^2$' as '$2^{-\rho}d_{\mathrm{min}}^2$' and state the fixed value $\rho=2$ for this table.

---

### 10. Viterbi Complexity Formula β Coefficient Ambiguous as Per-State vs. Per-Stage

**Status**: [Pending]

**Quote**:
> for each of the $2^{e}$ states, the Viterbi algorithm requires $2^k$ additions and a comparison of $2^k$ numbers, or $2^{k} - 1$ binary comparisons, so that its complexity is $\beta 2^{k + r}$, where $\beta = 2 - 2^{-k}$, and $2^{k + r}$ is the number of branches per stage of the trellis

**Feedback**:
The text says 'for each of the $2^e$ states' the cost is $2^k$ additions plus $2^k-1$ comparisons, giving $2^{k+1}-1$ operations per state. Multiplying by $2^e$ states gives total per-stage cost $2^e(2^{k+1}-1)$. The formula $\beta \cdot 2^{k+r}$ with $\beta = 2-2^{-k}$ gives $(2-2^{-k})\cdot 2^{k+r} = 2^{k+r+1}-2^r$, which equals the per-stage total only if $2^e = 2^{k+r}$ (i.e., $e = k+r$). For the rate-2/3 two-dimensional codes ($k=2$, $r=1$): $\beta\cdot 2^{k+r} = (7/4)\cdot 8 = 14$, and per-state cost is $4+3=7$ with $2^r=2$ branches per state, giving $7\cdot 2 = 14$ per state—but this is per-state, not per-stage. It would be helpful to add a clarifying sentence specifying whether $\beta\cdot 2^{k+r}$ is the per-state or per-stage Viterbi complexity, and to verify consistency with the $N_D$ column of Table IV.

---

### 11. Code Formula for RE₈ Yields d²_min = 8, Inconsistent with Expected Value

**Status**: [Pending]

**Quote**:
> For example, the lattice $RE_{8}$ is a version of the Gosset lattice which is mod-4 and decomposable, with the code formula $RE_{8} = 4Z^{8} + 2(8,7,2) + (8,1,8)$.

**Feedback**:
Using the paper's minimum-distance formula $d^2_{\min}(\Lambda) = \min[16, 4d_H(C_1), d_H(C_0)]$ with $C_1=(8,7,2)$ and $C_0=(8,1,8)$: $\min[16, 4\cdot 2, 8] = \min[16,8,8] = 8$. However, $RE_8$ is obtained from $E_8$ by applying the operator $R$ (which scales norms by $\sqrt{2}$), so if $d^2_{\min}(E_8)=4$ then $d^2_{\min}(RE_8)$ should be $2$ (since $R$ scales squared distances by $1/2$ relative to the normalized $E_8$). The formula yields 8, not 2. Readers might note that the code formula should be checked against the minimum distance formula derived in the same paragraph; if the result does not match the known value for $RE_8$, the code formula may need correction.

---

### 12. Subcode Constraint K − K' ≤ K' Lacks Justification

**Status**: [Pending]

**Quote**:
> The generators $\{2g_{k}, K' + 1 \leq k \leq K\}$ generate a lattice $\Lambda'$ that is a sublattice of $\Lambda_{e}$, whose elements are congruent to $2c'$ modulo 4, where $c'$ is a codeword in a binary $(N, K - K')$ block code $C'$ that is a subcode of the code $C$, so $K - K' \leq K'$.

**Feedback**:
The claim $K - K' \leq K'$ (equivalently $K \leq 2K'$) is stated as a consequence of $C'$ being a subcode of $C$, but a subcode relationship $C' \subseteq C$ implies only $K - K' \leq K$ (the dimension of $C'$ is at most that of $C$), not $K - K' \leq K'$. The inequality $K \leq 2K'$ would follow if $C'$ is a subcode of $C_1$ (the code associated with $\Lambda_e$), but $C_1$ is introduced only later in the decomposable case. It is not clear how $K - K' \leq K'$ follows solely from the subcode relationship $C' \subseteq C$. It would be helpful to either remove the inequality or add a separate justification showing that the generators of $\Lambda/\Lambda_e$ must map into $C_1$ under multiplication by $\phi$.

---

### 13. Primes of G Listed Incompletely at Norm 5

**Status**: [Pending]

**Quote**:
> The primes of $G$, in order of increasing norm, are $1 + i$, $2 \pm i, 3, \dots$, with norms $2, 5, 9, \dots$.

**Feedback**:
At norm 5 there are two conjugate pairs of Gaussian primes: $2\pm i$ and $1\pm 2i$. These are not related by units ($\pm 1, \pm i$): $i(2+i) = -1+2i \neq 1+2i$, so $1+2i$ is a genuinely distinct prime from $2+i$ up to units. The list '$2\pm i$' omits $1\pm 2i$. It would be helpful to rewrite '$2 \pm i, 3, \dots$, with norms $2, 5, 9$' as '$1 \pm 2i, 2 \pm i, 3, \dots$, with norms $2, 5, 5, 9$' or to note that at norm 5 there are two conjugate pairs of primes.

---

### 14. State Count Notation Inconsistency: 2^r-state vs. 2^ν-state in Adjacent Sentences

**Status**: [Pending]

**Quote**:
> A trellis diagram for a $2^{r}$-state, rate-$k / (k + r)$ convolutional code is an extended state transition diagram for the encoder that generates $C$. For each time $t$, it has $2^{\nu}$ nodes, or states, representing the possible states at time $t$.

**Feedback**:
The section introduces two distinct parameters for the number of states in adjacent sentences: $2^r$ in '$2^r$-state, rate-$k/(k+r)$ convolutional code' and $2^\nu$ in 'it has $2^\nu$ nodes, or states.' Here $r$ is the number of redundant output bits per time step and $\nu$ is the overall constraint length (total binary memory elements). These are generally unequal: the paper's own four-state rate-1/2 example has $\nu=2$ states ($2^\nu=4$) with $r=1$ ($2^r=2$). The label '$2^r$-state' appears to be a shorthand from Ungerboeck's convention where $\nu=r$ for specific encoder structures, but this equality is not stated. It would be helpful to rewrite the opening sentence as '$2^\nu$-state, rate-$k/(k+r)$ convolutional code' and add a note that for the encoder structures considered here $\nu=r$.

---

### 15. Minimum Squared Distance Equals Hamming Distance Argument Omits Unit-Norm Step

**Status**: [Pending]

**Quote**:
> It is easy to see that the minimum squared distance between code sequences corresponding to distinct paths in the trellis is the minimum Hamming distance between sequences $c(D)$ of coset representatives and thus is equal to $d_H(C) = 5$. However, since $d_{\min}^2(2Z^2) = 4$, the minimum squared distance of the trellis code is $d_{\min}^2(\mathbb{C}) = 4$.

**Feedback**:
The equality 'minimum squared Euclidean distance = minimum Hamming distance = 5' for distinct trellis paths requires that each nonzero coordinate difference between coset representatives contributes exactly 1 to the squared Euclidean distance. The coset representatives of $2Z^2$ in $Z^2$ are $\{[00],[10],[11],[01]\}$; two representatives differing in a coordinate differ by $\pm 1$, contributing $1^2=1$. This unit-norm property is specific to the $Z^2/2Z^2$ partition and does not hold in general (e.g., for $Z^2/RZ^2$ the coset representatives have norm $1/2$). It would be helpful to rewrite 'It is easy to see that...' as 'Since the coset representatives of $2Z^2$ in $Z^2$ differ by vectors of squared norm 1, the minimum squared Euclidean distance between distinct-path code sequences equals the minimum Hamming distance $d_H(C)=5$' to make the unit-norm assumption explicit.

---

### 16. 64-State D₄/2D₄ Code: Main Table d²_min Contradicts Proof-Note Correction

**Status**: [Pending]

**Quote**:
> |  4 | D_{4} | 2D_{4} | 64 | 3/4 | 1 | 8 | 4 | 6.02 | 828 | 512 | 4.48  |

**Feedback**:
The proof note states: 'J. Chow (private communication) has obtained values of $d_{\min}^2=6$, $\tilde{N}_0=16$, and $\gamma_{\mathrm{eff}}=4.37$ dB for the 64-state $D_4/RD_4$ code.' With $\rho=1$ and $d^2_{\min}=6$: $\gamma = 2^{-1}\cdot 6 = 3$ (4.77 dB), and with $\tilde{N}_0=16$ the penalty is $0.2\cdot\log_2(16/4)=0.4$ dB, giving $\gamma_{\mathrm{eff}}\approx 4.37$ dB—consistent with the note. The main table's $d^2_{\min}=8$, $\gamma=4$ (6.02 dB), $\gamma_{\mathrm{eff}}=4.48$ dB is therefore based on an incorrect $d^2_{\min}$. It would be helpful to update the 64-state $D_4/2D_4$ row to $d^2_{\min}=6$, $\gamma=3$, dB=4.77, $\tilde{N}_0=16$, $\gamma_{\mathrm{eff}}=4.37$ dB, consistent with the proof note.

---

### 17. Folk Theorem State Counts Implicitly Assume Small Error Coefficient Without Quantifying This

**Status**: [Pending]

**Quote**:
> In summary, we propose a folk theorem: it takes two states to get 1.5 dB, four states to get 3 dB, 16 states to get 4.5 dB, perhaps 64 states to get 5.25 dB, and 256 states to get 6 dB, as long as we require a reasonably small error coefficient (for trellis codes).

**Feedback**:
The folk theorem is stated with the qualifier 'as long as we require a reasonably small error coefficient,' but the paper's own Table XI shows that the same fundamental coding gain $\gamma = 2^{3/2}$ (4.52 dB) is achieved by the GCS/Wei eight-state four-dimensional code ($\tilde{N}_0=44$) and by four-state Class I and V codes with much larger $\tilde{N}_0$. The qualifier is therefore doing significant work that is not quantified. Readers might also note that the paper explicitly declines to compute $\gamma_{\mathrm{eff}}$ for lattice codes 'because our rule of thumb is questionable when the number of nearest neighbors is so high,' yet the folk theorem is used to compare trellis codes against lattice codes in conclusion (2). It would be helpful to add a sentence specifying what 'reasonably small' means quantitatively (e.g., $\tilde{N}_0 < 100$) and to flag that the 16-state threshold for 4.5 dB assumes this bound.

---

### 18. Effective Coding Gain Comparison with Lattice Codes Is Asymmetric

**Status**: [Pending]

**Quote**:
> We have not even given an effective coding gain $\gamma_{\mathrm{eff}}$ for lattice codes because our rule of thumb is questionable when the number of nearest neighbors is so high. Nonetheless, it seems clear that the very large error coefficients of lattice codes will mean that their effective performance will be significantly inferior to that of comparable trellis codes.

**Feedback**:
The paper applies the $\tilde{N}_0$ rule of thumb quantitatively to trellis codes—including Class V and VI codes with $\tilde{N}_0$ in the hundreds or thousands—but declines to apply it to lattice codes on the grounds that the rule is 'questionable when the number of nearest neighbors is so high.' This asymmetry means lattice codes are penalized only qualitatively while trellis codes receive a quantitative $\gamma_{\mathrm{eff}}$, even for cases where the large-$\tilde{N}_0$ caveat applies equally (e.g., the Class V $D_{16}/H_{16}$ code with $\tilde{N}_0=1692$). The conclusion that 'trellis codes are better than lattice codes' in effective coding gain rests on this inconsistent evidentiary basis. It would be helpful to either apply a consistent (even approximate) effective-gain penalty to lattice codes, or clearly flag which $\gamma_{\mathrm{eff}}$ values for trellis codes are also unreliable due to large or missing error coefficients.

---

### 19. Partition Chain Order Product Inconsistency in Lemma 5 Proof

**Status**: [Pending]

**Quote**:
> If $\Lambda'$ is a binary lattice of depth $\mu$, then $G^N / \Lambda / \Lambda' / \phi^\mu G^N$ is a partition chain, with $|G^N / \Lambda| = 2^{r(\Lambda)}$, $|\Lambda / \Lambda'| = 2^{k + r}$, $|\Lambda' / \phi^\mu G^N| = 2^{k(\Lambda')}$, and $|G^N / \phi^\mu G^N| = 2^{N\mu}$.

**Feedback**:
The total index $|G^N/\phi^\mu G^N|$ must equal the product of the sub-partition indices: $2^{r(\Lambda)} \cdot 2^{k+r} \cdot 2^{k(\Lambda')} = 2^{r(\Lambda)+k+r+k(\Lambda')}$. For this to equal $2^{N\mu}$, we need $r(\Lambda)+k+r+k(\Lambda') = N\mu$, i.e., $r(\Lambda') = r(\Lambda)+k+r$ (using $k(\Lambda') = N\mu - r(\Lambda')$). This is a non-trivial identity relating the ranks of $\Lambda$ and $\Lambda'$ to the encoder parameters that is not established in the text. It would be helpful to add a sentence confirming that $r(\Lambda') = r(\Lambda)+k+r$ follows from the partition structure, or to cross-reference the section where this identity is established, so that the index product is verifiably consistent.

---

### 20. Two Rows for D₈/RE₈ with Contradictory Partition Orders in Table III

**Status**: [Pending]

**Quote**:
> |  D8 | RE8 | 8 | 32 | 3 | 1 | 3/4 | 2 | 8 | 88 | 2.75  |
> |  D8 | RE8 | 8 | 128 | 3 | 1 | 1/4 | 2 | 8 | 280 | 2.2  |

**Feedback**:
Table III contains two rows both labeled $D_8/RE_8$ in 8 real dimensions, but with different partition orders (32 vs. 128), different $\kappa$ values (3/4 vs. 1/4), different $\rho$ values (3/4 vs. 1/4), and different $\tilde{N}_D$ values (88 vs. 280). Since $RE_8$ is a specific lattice, the partition $D_8/RE_8$ has a unique order $V(RE_8)/V(D_8)$. The two rows cannot both be correct for the same partition. The table caption notes that the lesser $\tilde{N}_D$ is given when $R\Lambda/R\Lambda'$ is simpler to decode, but this does not explain two rows with different orders for what appears to be the same partition. It would be helpful to clarify whether these rows refer to genuinely distinct partitions (e.g., $D_8/RE_8$ vs. $D_8/R^2E_8$) and to correct the $\Lambda'$ label in one row accordingly.

---

### 21. H₁₆ Complex Code Formula in Table I Uses G⁴ Instead of G⁸

**Status**: [Pending]

**Quote**:
> |  (1,3) | H_{16} | 16 | 2 | 2Z^{16} + (16,11,4) | φ^{2}G^{4} + φ(8,7,2) + (8,4,4)  |

**Feedback**:
The general complex code formula for $\Lambda(r,n)$ is $\phi^{n-r}G^N + \cdots$ with $N=2^n$. For $H_{16} = \Lambda(1,3)$: $n=3$, $r=1$, $N=2^3=8$, depth $\mu=2$. The formula gives $\phi^2 G^8 + \phi\,\mathrm{RM}(2,3) + \mathrm{RM}(1,3) = \phi^2 G^8 + \phi(8,7,2) + (8,4,4)$. The table entry shows $\phi^{2}G^{4}$ instead of $\phi^{2}G^{8}$. Since the real dimension is $2N=16$, the complex lattice lives in $N=8$ complex dimensions, requiring $G^8$. Comparing with the $D_{16}=\Lambda(2,3)$ entry which correctly uses $G^8$, the $G^4$ in the $H_{16}$ entry is a typographical error. It would be helpful to rewrite the complex code formula as $\phi^{2}G^{8} + \phi(8,7,2) + (8,4,4)$.

---

### 22. Inconsistent Index Variable 'n' vs. 'μ' in Dual Lattice Verification

**Status**: [Pending]

**Quote**:
> This proposition may be verified by noting that $C_0^\perp / \dots / C_{n-1}^\perp$ is a code partition chain, that every generator $\phi^{\mu - j - 1} \pmb{g}_j^\perp$ of $\Lambda^\perp / \phi^n \pmb{G}^N$ is orthogonal mod $\phi^u$ to every generator $\phi^{j'} \pmb{g}_{j'}$ of $\Lambda / \phi^n \pmb{G}^N$, and that the dimensions are such that the informativity of $\Lambda^\perp$ is equal to the redundancy of $\Lambda$ and vice versa.

**Feedback**:
Throughout this section the depth of the lattice is consistently called $\mu$, so the dual code chain should run from $C_0^\perp$ to $C_{\mu-1}^\perp$ ($\mu$ terms) and the ambient lattice should be $\phi^\mu G^N$, not $\phi^n G^N$. The symbol $n$ appears only as the exponent in the code formula $\Lambda = \phi^n G^N + \cdots$ (a local variable equal to $\mu$), so mixing $n$ and $\mu$ in the same sentence is inconsistent. Similarly, 'mod $\phi^u$' appears to be a garbled rendering of 'mod $\phi^\mu$'. It would be helpful to rewrite the verification sentence replacing every $n$ with $\mu$ and '$\phi^u$' with '$\phi^\mu$', so the notation is uniform with the rest of the section.

---

### 23. Order-of-Partition Formula: Concrete Check Suggests Possible κ-Term Error

**Status**: [Pending]

**Quote**:
> It follows that the order of the partition is
> 
> $$
> \left| \Lambda / \Lambda^ {\prime} \right| = 2 ^ {N \left(\mu \left(\Lambda^ {\prime}\right) - \rho (\Lambda) - \kappa \left(\Lambda^ {\prime}\right)\right)}
> $$
> 
> where $2N$ is the dimension of $\Lambda$ as a real lattice.

**Feedback**:
A concrete check against the $D_4/RD_4$ partition is worth verifying: $\Lambda = D_4$ ($\rho=1/2$, $N=2$) and $\Lambda' = RD_4$ ($\mu=2$, $\kappa=1$). The formula gives $2^{2(2-1-1/2)} = 2^1 = 2$. However, $V(RD_4)/V(D_4) = 8/2 = 4$, suggesting the order should be 4. If this discrepancy is confirmed, the formula may need to read $|\Lambda/\Lambda'| = 2^{N(\rho(\Lambda')-\rho(\Lambda))}$ (without the $\kappa$ subtraction). Readers might note that verifying the formula against the $D_4/RD_4$ example—whose volumes are given explicitly in the paper—would clarify whether the $\kappa(\Lambda')$ subtraction is correct.

---

### 24. Duplicate Row for H₁₆ in Lattice Parameter Table

**Status**: [Pending]

**Quote**:
> |  H_{16} | 11 | 11/8 | 5 | 5/8 | 4 | 2^{11/8} | 4.14 | 284 | 8 | ~32  |
> |  H_{16} | 11 | 11/8 | 5 | 5/8 | 4 | 2^{11/8} | 4.14 | 284 | 8 | ~32  |

**Feedback**:
The table of useful binary lattices contains two identical rows for $H_{16}$, both listing $k=11$, $\kappa=11/8$, $r=5$, $\rho=5/8$, $d^2_{\min}=4$, $\gamma=2^{11/8}$, 4.14 dB, $\hat{N}_0=284$, $2^\nu=8$, $\tilde{N}_D\approx 32$. Since $H_{16}$ is a single well-defined lattice, only one row should appear. The surrounding rows for $D_{16}$ and $\Lambda_{16}$ each appear exactly once, confirming this is an error in table construction rather than an intentional listing of two distinct lattices. It would be helpful to remove the second $H_{16}$ row.

---

### 25. Fundamental Coding Gain Comparison Treats Equal γ Codes as Equivalent Despite Large Ñ₀ Differences

**Status**: [Pending]

**Quote**:
> In summary, we propose a folk theorem: it takes two states to get 1.5 dB, four states to get 3 dB, 16 states to get 4.5 dB, perhaps 64 states to get 5.25 dB, and 256 states to get 6 dB, as long as we require a reasonably small error coefficient (for trellis codes).

**Feedback**:
Table XI shows that the Class I $D_4/RD_4$ code has $\gamma_{\mathrm{eff}} = 2.32$ dB versus the Class II $D_4/RD_4$ code at $\gamma_{\mathrm{eff}} = 2.69$ dB—a 0.37 dB difference arising entirely from different $\tilde{N}_0$ values despite identical $\gamma$. Similarly, the GCS/Wei eight-state four-dimensional code achieves $\gamma = 2^{3/2}$ with $\tilde{N}_0=44$, while four-state Class I and V codes achieve the same $\gamma$ with much larger $\tilde{N}_0$. The folk theorem's state-count thresholds implicitly select the best-$\tilde{N}_0$ representative from each gain level, but this selection criterion is not stated. It would be helpful to clarify in the folk theorem discussion that the state counts cited correspond to codes with the smallest known $\tilde{N}_0$ at each gain level, and to note that codes with the same $\gamma$ but larger $\tilde{N}_0$ would require more states to achieve the same $\gamma_{\mathrm{eff}}$.

---
