Let the notation $[a]_n$ stand for $\{a + kn \mid k \in \mathbb{Z}\}$. If $n = 0$, this is $\{a\}$; otherwise, this is $\{b \mid b \equiv a \pmod{n}\}$.
We can define a lattice $L$ whose elements are of the form $[a]_n$. The top element is $\top = [0]_1 = \mathbb{Z}$. We can also add a bottom element $\bot = \varnothing$.
We can compute joins as follows: given $x = [a]_m$ and $y = [b]_n$, let $g = \gcd(m, n, |a - b|)$. Then $x \vee y = [a]_g = [b]_g$. (And as usual, $x \vee \bot = \bot \vee x = x$.)
I am interested in doing some data flow analysis with this lattice as the abstract domain, so it's useful to perform arithmetic with elements of this lattice. E.g. for addition, I'd like an operation $x + y = z$ on lattices that is compatible with integer addition, i.e. $r \in x, s \in y \implies (r + s) \in z$. One possible definition is: $$ [a]_m + [b]_n = [a + b]_{\gcd(m, n)} $$ and I think that's as precise as possible.
I'd also to define multiplication of lattice elements. So far I've come up with $$ [a]_m [b]_n = [ab]_0 + [0]_{an} + [0]_{bm} + [0]_{mn}. $$ Is there a better (more precise and/or simpler) definition of multiplication over $L$? It's been a while since I did discrete math but most of what I remember only applies to the $m = n$ case. The only tool I know for handling different moduli is Chinese remaindering but I don't see how it would help here.
And more generally: is there an established name for $L$? Or books/papers that discuss it?