$L = \{ <M> | |L(M)|=\infty \wedge |<M>|<k \}$, for some $k>1000$.
It seems to me that $L \notin RE \cup CoRE$, and I would like to prove it.
However, it seems that the classic reductions that receive $<M>$ and return some $<M'>$ that runs $M$ will not work, since the encodings in $L$ should be less long than $k$.
For example, if I'm trying to reduce from $L_{acc}$, I might get $<M,w>\in L_{acc}$ such that $<M>$ is longer that k, then if the reduction will construct $M'$ s.t. the encoding of $M$ is part of its encoding, $<M'>$ will also be longer than k.
To solve that, I looked into the usage of Universal TM, which can be encoded in fixed size.
Assuming $|<U>| < k$, in order to prove $L \notin CoRE$, my idea was to reduce $L_{acc}$ to $L$:
$f(<M,w>) = <U>$
s.t. $U$ is the Universal TM, and $<M,w>$ is written on its tape.
On a given input $x$, $U$ runs $M$ over $w$ and answers the same.
Then we get:
If $ <M,w> \in L_{acc}$, then $L(U)=\Sigma^*$ and also $|<U>|<k$, so $<U> \in L$.
If $ <M,w> \notin L_{acc}$, then $L(U)=\emptyset$, so $<U> \notin L$.
My questions about this solution:
- How can we guarantee that the encoding of the Universal TM is indeed less long than $k$ ?
- Can the reduction write something on the tape of the universal TM, without changing the length of its encoding?