Suppose $X \cong X \times X$ with at least two elements. Can we construct a third element? Let $a,b \in X$ be distinct and suppose $\langle -,- \rangle : X^2 \rightarrow X$ is a bijection (thought of as a pairing function, with $\pi_1,\pi_2 : X \rightarrow X$ satisfying $\pi_1\langle x,y\rangle = x$, $\pi_2\langle x,y\rangle = y$).  Originally, I was curious as to whether or not one could constructively prove that $X$ is infinite i.e. there is an injection from the naturals into $X$.  However, I am actually stuck on a much simpler problem:  Can we constructively prove that $X$ has at least 3 distinct elements? an element distinct from $a$ and $b$?
If $X$ has decidable equality, then this is fairly simple:  Suppose $a = \langle a_0,a_1 \rangle$ and $b = \langle b_0,b_1\rangle$.  Check whether or not these pairs lie on the diagonal of $X^2$; if both do, triangulate to find a third pair e.g. $\langle a_0,b_1\rangle$;  if only one is on the diagonal, take the transpose of the off-diagonal pair; and if both are off-diagonal, project one of them onto the diagonal.
Without decidable equality, I can't see how one can do this.  My intuition tells me that such a constructive proof would need to correspond to some polynomial in two variables $\phi(x,y)$ built from the operations $\langle -,- \rangle, \pi_1, \pi_2$ having the property that for any such isomorphism and distinct $a,b$ we have that $\phi(a,b) \neq a$ and $\phi(a,b) \neq b$.  But it seems to me that for any such $\phi$ it should be possible to "refute" it.  Of course, perhaps my intuition is mistaken and I'm missing something obvious.
 A: Edit: Actually I noticed this doesn't answer the question as stated because we get 3 distinct elements but it might not include the original 2. I'll leave it up anyway in case you're interested.
This turns out to have a fairly short proof, but it's a little subtle, so I'll expand on some details that are easy to miss.
First note that if $X$ has two distinct elements $a \neq b$, then we can define an injection $i \colon 2 \rightarrow X$ (where $2$ is the set $\{0,1\}$). Certainly we have a function $i$ defined by $i(0) = a$ and $i(1) = b$. To show $i$ is a injection we need to show that if $f(x) 
 = f(y)$ then $x = y$. We know that $2$ has decidable equality, so we can split into the cases $x = y$ and $x \neq y$. In the first case we are done, in the second we have $x = 0$ and $y = 1$ (or vice versa, but the proof is similar so I won't write it out). If $f(0) = f(1)$ then we have $a = b$ and then derive $\bot$ from $a \neq b$. But then we get $0 = 1$ by ex falso.
Now we check that if there is an injection $i \colon n \rightarrow X$ then there is also an injection $i' \colon n \times n \rightarrow X \times X$. We just take $i'(m, n)$ to be $(i(m), i(n))$. This is an injection because whenever $i'(m, n) = i'(p, q)$ we have $i(m) = i(p)$ and $i(n) = i(q)$ and so $m = p$ and $n = q$, giving us $(m, n) = (p, q)$.
Finally, if $X \cong X \times X$, we have that if there is an injection $n \rightarrow X$, then there is also an injection $n^2 \rightarrow X$. In particular, if $X$ has two distinct elements there is an injection $n \rightarrow X$ for every $n$.
