Processes export \ABbroadcast$(m)$ and $m = \ABdeliver()$. We adopt the standard Atomic Broadcast specification of~\cite{Defago2004}. \ARB requires the following properties: \begin{itemize}[leftmargin=*] \item \textbf{Total Order}: \begin{equation*} \forall m_1,m_2,\ \forall p_i,p_j:\ \ (m_1 = \ABdeliver_i()) \prec (m_2 = \ABdeliver_i()) \Rightarrow (m_1 = \ABdeliver_j()) \prec (m_2 = \ABdeliver_j()) \end{equation*} \item \textbf{Integrity}: Every message delivered was previously broadcast. $\forall p_i:\ m = \ABdeliver_i() \Rightarrow \exists p_j:\ \ABbroadcast_j(m)$. \item \textbf{No-duplicates}: No message is delivered more than once at any process. \item \textbf{Validity}: If a correct process broadcasts $m$, every correct process eventually delivers $m$. \end{itemize}