where $z_{ji}$ is a realization of an i.i.d. Gaussian noise $Z_j\sim\mathcal{N}(0,1)$. We have assumed that the channel is reciprocal, i.e. the channel gain from user $j$ to the relay is the same as that from the rely to user $j$. Each node $j$ uses a decoding function $g_j$ to decode $m_{kj}$ and $m_{lj}$, i.e. $$\begin{aligned}
(\hat{m}_{kj},\hat{m}_{lj})=g_j(y_j^n,m_{jk},m_{jl}).\end{aligned}$$

We denote the vector of all rates by ${\ensuremath{\mathbf{R}}}$ and that of all messages by ${\ensuremath{\mathbf{m}}}$ $$\begin{aligned}
{\ensuremath{\mathbf{R}}}&=(R_{12},R_{13},R_{21},R_{23},R_{31},R_{32})\\
{\ensuremath{\mathbf{m}}}&=(m_{12},m_{13},m_{21},m_{23},m_{31},m_{32})\end{aligned}$$ We also define $R_\Sigma({\ensuremath{\mathbf{R}}})$ to be the sum of the components of ${\ensuremath{\mathbf{R}}}$ or $$\begin{aligned}
R_\Sigma({\ensuremath{\mathbf{R}}})=\sum_{j=1}^3\sum_{\substack{k=1\\ k\neq j}}^3R_{jk},\end{aligned}$$

The message sets $\mathcal{M}_{jk}$, encoding functions $f_j$, $f_r$, and decoding functions $g_j$ define a code $({\ensuremath{\mathbf{R}}},n)$ for the Y-channel. An error occurs if $(\hat{m}_{kj},\hat{m}_{lj})\neq({m}_{kj},{m}_{lj})$, for distinct $j,k,l\in\{1,2,3\}$. A rate tuple ${\ensuremath{\mathbf{R}}}\in\mathbb{R}_+^6$ is achievable if there exist a sequence of $({\ensuremath{\mathbf{R}}},n)$ codes with an average error probability that approaches zero as $n$ increases. The set of all achievable rate tuples is the capacity region $\mathcal{C}$ of the Y-channel. An achievable sum-rate is $R_\Sigma({\ensuremath{\mathbf{R}}})$ where ${\ensuremath{\mathbf{R}}}\in\mathcal{C}$ or simply $R_\Sigma$ and the sum-capacity is the maximum achievable sum rate given by $$\begin{aligned}
C=\max_{{\ensuremath{\mathbf{R}}}\in\mathcal{C}}R_\Sigma.\end{aligned}$$

![The Y-channel: User 1 wants to send two messages, $m_{12}$ to user 2, and $m_{13}$ to user 