5
$\begingroup$

Definitions:

Fix a function $f:\mathbb{R}\to\mathbb{R}$ such that $f$ obtains each value only finite (possibly $0$) number of times. We say $E \subset \mathbb{N}$ is the "multiplicity set" of $f$ iff
$1$. For every $n \in E$, there exists at least one value that $f$ takes exactly $n$ times.
$2$. If $f$ takes on a value exactly $n$ times, then $n \in E$

In other words, $n \in E$ iff $n$ is the multiplicity of some value under $f$.

A subset $E $ of $\mathbb{N}$ is said to be "constructable" iff there exists a continuous function $f$ on $\mathbb{R}$ such that $E$ is the multiplicity set of $f$.

The problem:

If $E$ is a computable subset of $\mathbb{N}$, then is there a way to effectively decide whether or not $E$ is constructable or not?

I asked a similar question about this almost 2 years ago but only for finite subsets of $\mathbb{N}$. MSE user "user21820" posted an answer for the problem which solves the finite case. They also made a conjecture related to the infinite case. So far no progress has been made after that.

$\endgroup$
4
  • 1
    $\begingroup$ What does "effectively" mean here? do you mean, an algorithm whose input is an algorithm computing $E$ (i.e., telling whether an element is or is not in $E$), and whose output is whether $E$ is "constructable"? $\endgroup$
    – YCor
    Commented Mar 22 at 12:57
  • $\begingroup$ @YCor Yes. By "effectively decide" I meant "compute". $\endgroup$ Commented Mar 22 at 14:52
  • $\begingroup$ OK. Note this is indeed a bit unusual to input an algorithm. $\endgroup$
    – YCor
    Commented Mar 22 at 16:45
  • 2
    $\begingroup$ Doesn't Rice's theorem here mean that there is no way, given an algorithm as input, of doing what you want? $\endgroup$ Commented Mar 24 at 19:49

1 Answer 1

5
+50
$\begingroup$

There is no such computable decision procedure, largely because of the same issues underlying Rice's theorem, as mentioned in the comment of Steven Stadnicki. The moral of Rice's theorem is that you cannot compute anything nontrivial about a c.e. set from the program. In this sense, this answer to the question is disappointing, since it is about the limitations of the formalism involving in asking a question about computable sets, rather than about anything having to do with multiplicity sets. Perhaps one might still hope for a characterization of infinite multiplicity sets, despite this negative answer to the question about computably deciding a question about computable sets that you have asked.

Nevertheless, let me explain the answer for this case. What I claim is that one cannot computably decide, given a program $p$ deciding a set $E\subseteq\mathbb{N}$, whether $E$ is the multiplicity set of some continuous function.

This isn't exactly an instance of Rice's theorem, since we assume that the input program $p$ is the program of a decision procedure for a set $E\subseteq\mathbb{N}$, in particular, that $p$ halts on every input with either accept or reject. Nevertheless, the ideas of the proof of Rice's theorem will still apply. Let me explain.

Suppose toward contradiction that we could decide, given a program $p$ computing a set $E\subset\mathbb{N}$, whether or not $E$ is the multiplicity set of a continuous function. Let $e$ be the algorithm for deciding this.

First, let us notice that the set $\{1\}$ arises as the multiplicity set of a continuous function, namely, the identity function. Second, notice that, according to the answer given at the other question, for any $n>0$ the set $\{1,2n\}$ is not a multiplicity set.

Consider the program $p$ that starts out by accepting $1$ and rejecting all other inputs at first. So initially the program $p$ seems to be deciding the set $\{1\}$. It conforms with this policy, all the while running program $e$ on program $p$. (That is, the program $p$ runs $e$ on itself, which looks circular, but this is a standard issue that can be solved with the Kleene recursion theorem. The effect is that it is entirely legitimate to define a program by a process that consults its own code, as I am doing here.)

Since $p$ is acting in accordance with deciding the set $\{1\}$, which is a multiplicity set, the program $e$ must eventually halt on $p$, asserting that it is a multiplicity set. But program $p$ can observe when this occurs, and at this point it switches modes, to accept some large even number $2n$ not yet decided. So the set decided by $p$ will be $\{1,2n\}$, which is not a multiplicity set.

If conversely, $e$ halts on $p$ and says that it is not a multiplicity set, then $p$ carries on with deciding $\{1\}$, which is a multiplicity set.

So in either case, $p$ decides a set of natural numbers, but $e$ gets the wrong answer as to whether it is a multiplicity set or not.

So the question whether the set decided by $p$ is a multiplicity set is not computably decidable.

$\endgroup$
3
  • 1
    $\begingroup$ What does "the answer given at the other answer" mean? $\endgroup$
    – LSpice
    Commented Mar 25 at 2:35
  • 2
    $\begingroup$ I had meant the answer at the other question, to which the OP linked, namely, math.stackexchange.com/questions/4457544/…. I've edited to explain this better. $\endgroup$ Commented Mar 25 at 2:49
  • $\begingroup$ Thanks for the bounty! I do recognize, alas, that this was not the kind of answer that you sought. $\endgroup$ Commented Mar 26 at 12:13

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .