superposition of $x_1^n(m_{12}(f))$ and $x_2^n(m_{21}(f))$ (in a way that will be explained next), maps it to $u_{12}(f)\in\{1,\dots,2^{nR_{12}}\}$ and sends $x_r^n(u_{12}(f))$ in block $3f+s+1$. Table \[Cycle\] illustrates the 3 main blocks used.

   Block    Node          1             2             3                             relay
  ------- --------- ------------- ------------- ------------- --------------------------------------------------
            sends    $m_{12}(1)$   $m_{21}(1)$        -                          $u_{31}(0)$
           decodes   $m_{31}(0)$        -        $m_{13}(0)$   $X_1^n(m_{12}(1))+X_2^n(m_{21}(1))\to u_{12}(1)$
            sends         -        $m_{23}(1)$   $m_{32}(1)$                     $u_{12}(1)$
           decodes   $m_{21}(1)$   $m_{12}(1)$        -        $X_2^n(m_{23}(1))+X_3^n(m_{32}(1))\to u_{23}(1)$
            sends    $m_{13}(1)$        -        $m_{31}(1)$                     $u_{23}(1)$
           decodes        -        $m_{32}(1)$   $m_{23}(1)$   $X_1^n(m_{13}(1))+X_3^n(m_{31}(1))\to u_{31}(1)$

These three blocks are of length $n$ symbols each. The procedure in block $3f+s$ is the same as that in block $s$. Notice that each user transmits in only 2 out of 3 slots. In what follows, we illustrate the scheme for blocks $3f+1$, $3f+2$, and $3f+3$. We remove the frame index from the messages for readability.

Codebook generation
-------------------

The users use nested lattice codebooks. We start with some lattice preliminaries. An $n$-dimensional lattice $\Lambda$ is a subset of $\mathbb{R}^n$ such that $\lambda_1,\lambda_2\in\Lambda\Rightarrow\lambda_1+\lambda_2\in\Lambda$, i.e. it is an additive subgroup of $\mathbb{R}^n$. The fundamental Voronoi region $\mathcal{V}(\Lambda)$ of $\Lambda$ is the set of all points in $\mathbb{R}^n$ whose distance to the origin is smaller that that to any other $\lambda\in\Lambda$. Thus, by quantizing points 