2
$\begingroup$

Motivation. In computer science, addition of integers $a+b$ can be approximated by a very fast operation: $(a,b)\mapsto (a\oplus b) \oplus ((a\land b) \ll 1)$, where $\oplus$ denotes bitwise XOR, $\land$ is bitwise AND, and $\ll 1$ is the left shift by one position. The purpose of $\ldots \oplus ((a\land b) \ll 1)$ is to simulate carry propagation. This mechanism can be generalized to an operation $2^\omega \times 2^\omega \to 2^\omega$, as described below.

Formal setting. Let $2 = \{0,1\}$ and let $\omega$ denote the first infinite ordinal. If $A, B$ are sets, by $B^A$ we denote the set of functions $f:A\to B$.

We define the following operations on $2^\omega$:

  • $\ll 1\; :\; 2^\omega \to 2^\omega$: $f \mapsto s(f)$ where $s(f)(0) = 0$ and $s(f)(n+1) = f(n)$ for all $n\in\omega$.
  • $\oplus : 2^\omega \times 2^\omega \to 2^\omega$: $(f,g) \mapsto (f\oplus g)$ where $(f\oplus g)(n) = f(n) + g(n)$ for all $n\in \omega$, and $+$ denotes addition modulo $2$.
  • $\land : 2^\omega \times 2^\omega \to 2^\omega$: $(f,g) \mapsto (f\land g)$ where $(f\land g)(n) = \inf\{f(n), g(n)\}$ for all $n\in \omega$.

Finally we define $+'\;:\; 2^\omega \times 2^\omega \to 2^\omega$ by $(a,b)\mapsto (a\oplus b) \oplus ((a\land b) \ll 1)$.

Unfortunately, $+'$ is not an associative binary operation on $2^\omega$. (The second comment in the comment section below contains an example showing non-associativity.) It has a neutral element, though (the constant $0$-function), as well as inverses.

Question. Is there an uncountable subset $S\subseteq 2^\omega$ such that $S$ is closed under $+'$, and $+'$ restricted to $S$ is associative?

$\endgroup$
4
  • 1
    $\begingroup$ Could you mention an easy example of non-associativity? $\endgroup$
    – LSpice
    Commented Jan 26, 2022 at 16:39
  • $\begingroup$ Thanks for your question! One example for non-associativity is the following: Let $a: \omega \to 2$ be the function defined by $a(0) = 1$ and $a(n) = 0$ for $n \geq 1$. Let $b = a$, and let $c$ be defined by $c(0) = 0, c(1) = 1$ and $c(n) = 0$ for $n \geq 2$.. Then $a +' ( b +' c)$ is the constant $0$-function, whereas $(a +' (b+'c))(2) = 1$. For more examples, run the ${\tt C}$ program at github.com/dominiczypen/plus_approximation/blob/main/… $\endgroup$ Commented Jan 26, 2022 at 20:40
  • 1
    $\begingroup$ Oh, I see. @SamuelNeves's description of your option as "parallel carry propagation" helped me considerably to understand what was going on. Interesting question! Do you have any intuition for whether the answer should be 'yes' or 'no'? $\endgroup$
    – LSpice
    Commented Jan 26, 2022 at 21:10
  • $\begingroup$ I am still getting a grip on this simple but somehow weird operation. For me, it is the first example of a "non-associative group". No intuition as to the answer... $\endgroup$ Commented Jan 26, 2022 at 22:25

0

You must log in to answer this question.