Dada la función computable, ¿cuáles son las condiciones para la computabilidad de la función inversa?

8

Si es computable y tiene un inverso, ¿bajo qué condiciones es también computable? No pude encontrar eso en un libro de texto, y googlear tiene algunas sugerencias vagas sobre bijective, pero no pude encontrar un teorema claramente establecido a tal efecto. De antemano, el bijective parece suficiente pero no necesario, por ejemplo, no es sobreyectivo pero es computablemente invertible (para una función total inversa, use el dominio elevado y números impares de nuevo a ). Además de una respuesta, una referencia a un teorema / prueba sería genial, o simplemente el nombre de un teorema relevante para que pueda googlearlo con éxito.f:NNf1f(n)=2nN

Esta pregunta me vino a la mente con respecto al siguiente pensamiento (que tampoco pude encontrar en un libro de texto o en Google). La distinción entre f computable y f1 no, versus ambos computable, parece análoga a una distinción re versus recursiva. ¿Se puede expresar rigurosamente?

Por ejemplo, considere , con el dominio espacio funcional (Scott-o Lawson-continua) de un dominio . Supongamos que son los elementos compactos de , , por lo que , todo de la manera habitual. Entonces es computable si una enumeración de es re De manera similar, es computable si una enumeración de es re Así que si ambos son computables, lo que significa que ambas enumeraciones son re, entonces parece (al menos para mí) algo análogo a recursivo.f:EEfD=[EE]EKDDf={gKDgf}f=ffff1f1

Por supuesto, no es lo mismo que recursivo, ya que si es una enumeración de , y de manera similar para , luego (al menos no lo creo). Pero parece haber algún tipo de idea análoga tratando de expresarse. Entonces, ¿cómo podría formular ese tipo de cosas rigurosamente? Entre los primeros pasos, creo que querrías expresar en términos de , pero no veo cómo configurarlo eso (alguna sugerencia de cómo hacer eso?).NfNfNf1Nf1NNfNf1Nf

Entonces, ¿esta idea también es conocida y discutida? Un libro de texto o una referencia de Google (o un término de búsqueda compatible con Google) sería genial. Gracias.

John Forkosh
fuente

Respuestas:

7

Digamos que una función computable es invertible si hay otra función computable que en la entrada encuentra tal que o devuelve cuando no tiene preimagen.fgyxf(x)=yy

Para esta definición, se puede mostrar que una función computable es invertible si y solo si su rango es decidible, es decir, podemos decidir si una entrada dada tiene una preimagen bajo .ff

Yuval Filmus
fuente
1
Muchas gracias, @YuvalFilmus, eso es exactamente lo que estaba buscando. ¿Podrías también darme el nombre de ese teorema (o alguna forma de encontrarlo en el índice de un libro de texto, o googlearlo)? Me gustaría estudiar eso un poco más profundo (pero no hay necesidad de "cortarlo y pegarlo" aquí). (Y lo tomo cuando es muchos-a-uno, luego solo devuelve la primera imagen- que encuentra a medida que atraviesa las 's en el rango decidible de ).fgxyf
John Forkosh
Se me ocurrió este teorema, así que si tiene un nombre, no lo sé. La prueba es un ejercicio simple en la línea indicada en su comentario.
Yuval Filmus
Gracias de nuevo, Yuval. De acuerdo, lo entiendo. Y tengo la sensación de que su condición es realmente la necesaria, aunque no estoy viendo de improviso cómo demostrar que el rango de es indecidible no computable. Además, creo que todas estas cosas deben ser bien conocidas y hechas a la muerte. Parece una pregunta tan obvia, pero no puedo buscar en Google una respuesta concreta. f f1
John Forkosh
Intente demostrar que si es computable, entonces el rango de es decidible. f1f
Yuval Filmus
Gracias una vez más. Parece tan obvio --- ahora que lo has dicho :)
John Forkosh