How do I interpret this divide and conquer algorithm for removing duplicates in a list?
As wvxvw suggested, the dot notation is a shorthand way of separating the head and the tail of a list, as in LISP or ML. For example, if we have a list $L=\langle\,4,7,8\,\rangle$ then we can write $L$ as $c_1.c_2$ where $c_1=4$ and $c_2=\langle\,7,8\,\rangle$.

The function $\Delta$ takes two sorted lists, $c_1.c_2$ and $d_1.d_2$ and recursively produces a list without duplicates. For instance, we might have
$$\begin{align}
\Delta(\langle\,6\,\rangle,\langle\,3,5,6\,\rangle) &amp;=\langle\,3,\Delta(\langle\,6\,\rangle,\langle\,5,6\,\rangle)\,\rangle&amp;\text{by rule 3}\\
&amp;=\langle\,3,5,\Delta(\langle\,6\,\rangle,\langle\,6\,\rangle)\,\rangle&amp;\text{by rule 3}\\
&amp;=\langle\,3,5,6,\Delta(\varnothing,\varnothing)\,\rangle&amp;\text{by rule 2}\\
&amp;=\langle\,3,5,6\,\rangle
\end{align}$$
This is where the real work is done. The function $SD$ uses $\Delta$ by splitting the original sorted list $\langle\,s_1,s_2,\dotsc,s_n\,\rangle$ into two: the odd-indexed part, $\langle\,s_1,s_3,s_5,\dotsc\,\rangle$ and the even-indexed part, $\langle\,s_2,s_4,s_6,\dotsc\,\rangle$ and applies $\Delta$ to them, to remove duplicates. For instance,
$$\begin{align}
SD(\langle\,3,3,3,5,6,6\,\rangle&amp;=\Delta(SD(\langle\,3,3,6\,\rangle),SD(\langle\,3,5,6\,\rangle))\\
&amp;=\Delta(\langle\,3,6\,\rangle,\langle\,3,5,6\,\rangle)&amp;\text{since $SD$ removes dups}\\
&amp;=\langle\,3,5,6\,\rangle
\end{align}$$
as we saw above. It's worth noting that the arguments to both functions must be in sorted order. To see why, trace the action on, say, $\langle\,3,4,2,3\,\rangle$.