La inversión de cuantificadores es una propiedad importante que a menudo está detrás de teoremas bien conocidos.
Por ejemplo, en el análisis, la diferencia entre y es la diferencia entre continuidad puntual y uniforme . Un teorema bien conocido dice que cada mapa continuo puntual es uniformemente continuo, siempre que el dominio sea agradable, es decir, compacto .∀ϵ>0.∀x.∃δ>0∀ϵ>0.∃δ>0.∀x
De hecho, la compacidad está en el corazón de la inversión del cuantificador. Consideremos dos tipos de datos y de los cuales es abierta y es compacto (ver más abajo para una explicación de estos términos), y dejar que sea una relación semidecidable entre y . La declaración se puede leer de la siguiente manera: cada punto en está cubierto por alguna . Dado que los conjuntos son "computablemente abiertos" (semidecidables) eXYXYϕ(x,y)XY∀y:Y.∃x:X.ϕ(x,y)yYUx={z:Y∣ϕ(x,z)}UxYes compacto, existe una subcubierta finita. Hemos demostrado que
implica
A menudo podemos reducir la existencia de la lista finita a una sola . Por ejemplo, si está ordenado linealmente y es monótono en con respecto al orden, entonces podemos considerar que es el más grande de .
∀y:Y.∃x:X.ϕ(x,y)
∃x1,…,xn:X.∀y:Y.ϕ(x1,y)∨⋯∨ϕ(xn,y).
x1,…,xnxXϕxxx1,…,xn
Para ver cómo se aplica este principio en un caso familiar, veamos la afirmación de que es una función continua. Mantenemos como una variable libre para no confundirnos con un cuantificador universal externo:
Como es compacto y la comparación de reales es semidecidable, la declaración es semidecidable. Los reales positivos son evidentes y es compacto, por lo que podemos aplicar el principio:
f:[0,1]→Rϵ>0
∀x∈[0,1].∃δ>0.∀y∈[x−δ,x+δ].|f(y)−f(x)|<ϵ.
[x−δ,x+δ]ϕ(x,δ)≡∀y∈[x−δ,x+δ].|f(y)−f(x)|<ϵ[0,1]∃δ1,δ2,…,δn>0.∀x∈[0,1].ϕ(δ1,x)∨⋯ϕ(δn,x).
Como es antimonotono en el más pequeño de hace el trabajo, por lo que solo necesitamos un :
Lo que tenemos es
una continuidad
uniforme de .
ϕ(δ,x)δδ1,…,δnδ∃δ>0.∀x∈[0,1].∀y∈[x−δ,x+δ].|f(y)−f(x)|<ϵ.
f
Hablando vagamente, un tipo de datos es compacto si tiene un cuantificador universal computable y evidente si tiene un cuantificador existencial computable. Los enteros (no negativos) están abiertos porque para decidir si , con semidecidable, realizamos la búsqueda paralela haciendo cola de milano . El espacio de Cantor es compacto y abierto, como lo explica la Dualidad de piedra abstracta de Paul Taylor y la " Topología sintética de tipos de datos y espacios clásicos " de Martin Escardo (véase también la noción relacionada de espacios de búsqueda ).N∃n∈N.ϕ(n)ϕ(n)2N
Apliquemos el principio al ejemplo que mencionó. Vemos un idioma como un mapa de palabras (finitas) sobre un alfabeto fijo a valores booleanos. Como las palabras finitas están en correspondencia biyectiva computable con enteros, podemos ver un lenguaje como un mapa de enteros a valores booleanos. Es decir, el tipo de datos de todos los lenguajes es, hasta el isomorfismo computable, precisamente el espacio de Cantor nat -> bool
, o en notación matemática , que es compacto. Una máquina de Turing de tiempo polinómico se describe por su programa, que es una cadena finita, por lo tanto el espacio de todos (representaciones de) las máquinas de Turing se pueden tomar para ser o , que es manifiesta.2Nnat
N
Dada una máquina de Turing y un lenguaje , la declaración que dice "el lenguaje es rechazado por " es semidecida porque de hecho es decidible: simplemente ejecute con la entrada y vea qué lo hace. ¡Se cumplen las condiciones para nuestro principio! La declaración "cada máquina de oráculo tiene un lenguaje tal que no es aceptado por " se escribe simbólicamente como
Después de la inversión de cuantificadores obtenemos
Mcrejects(M,c)cMMcMbbMb
∀M:N.∃b:2N.rejects(Mb,b).
∃b1,…,bn:2N.∀M:N.rejects(Mb1,b1)∨⋯∨rejects(Mbn,bn).
Ok, entonces tenemos pocos idiomas finitos. ¿Podemos combinarlos en uno solo? Lo dejaré como ejercicio (¡para mí y para ti!).
También te puede interesar la pregunta un poco más general de cómo transformar a una declaración equivalente de la forma , o viceversa. Hay varias formas de hacerlo, por ejemplo:∀x.∃y.ϕ(x,y)∃u.∀v.ψ(u,v)