L'inversion des quantificateurs est une propriété importante qui se cache souvent derrière des théorèmes bien connus.
Par exemple, en analyse, la différence entre et est la différence entre une continuité ponctuelle et uniforme . Un théorème bien connu dit que chaque carte continue ponctuellement est uniformément continue, à condition que le domaine soit agréable, c'est-à-dire compact .∀ϵ>0.∀x.∃δ>0∀ϵ>0.∃δ>0.∀x
En fait, la compacité est au cœur de l'inversion du quantificateur. Considérons deux types de données et dont est ouverte et est compact (voir ci - dessous pour l' explication de ces termes), et que soit une relation semidecidable entre et . La déclaration peut être lu comme suit: chaque point en est couvert par un certain . Puisque les ensembles sont "calculables" (semi-décidable) etXYXYϕ(x,y)XY∀y:Y.∃x:X.ϕ(x,y)yYUx={z:Y∣ϕ(x,z)}UxYest compact il existe un sous-recouvrement fini. Nous avons prouvé que
implique que
Souvent, nous pouvons réduire l’existence de la liste finie à un seul . Par exemple, si est ordonné linéairement et que est monotone dans par rapport à l'ordre, alors nous pouvons prendre comme étant le plus grand de .
∀y:Y.∃x:X.ϕ(x,y)
∃x1,…,xn:X.∀y:Y.ϕ(x1,y)∨⋯∨ϕ(xn,y).
x1,…,xnxXϕxxx1,…,xn
Pour voir comment ce principe est appliqué dans un cas familier, examinons l'affirmation selon laquelle est une fonction continue. Nous conservons tant que variable libre afin de ne pas nous embrouiller au sujet d'un quantificateur universel externe:
Parce que est compact et que la comparaison de vrais est semi-décidable, l'instruction est semi-décidable. Les réels positifs sont manifestes et est compact, nous pouvons donc appliquer le principe:
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).
Puisque est antimonotone dans le plus petit de fait déjà le travail, nous avons donc besoin d'un :
Ce que nous avons est
une continuité
uniforme de .
ϕ(δ,x)δδ1,…,δnδ∃δ>0.∀x∈[0,1].∀y∈[x−δ,x+δ].|f(y)−f(x)|<ϵ.
f
En termes simples, un type de données est compact s'il a un quantificateur universel calculable et ouvert s'il a un quantificateur existentiel calculable. Les nombres entiers (non négatifs) sont manifestes parce que, pour semi-décider, si , avec semidecidable, nous effectuons la recherche de paralel par queue d' aronde . L’espace Cantor est compact et ouvert, comme l’expliquent Abstract Stone Duality de Paul Taylor et « Topologie synthétique des types de données et des espaces classiques » de Martin Escardo (voir également la notion connexe d’ espaces interrogeables ).N∃n∈N.ϕ(n)ϕ(n)2N
Appliquons le principe à l'exemple que vous avez cité. Nous considérons une langue comme une carte de mots (finis) sur un alphabet fixe en valeurs booléennes. Puisque les mots finis sont en correspondance bijective calculable avec des nombres entiers, nous pouvons considérer un langage comme une carte des nombres entiers en valeurs booléennes. Autrement dit, le type de données de toutes les langues est, jusqu’à l’isomorphisme calculable, précisément l’espace Cantor nat -> bool
, ou en notation mathématique , qui est compact. Une machine de Turing à temps polynomial est décrite par son programme, qui est une chaîne finie. Ainsi, l'espace de toutes les (représentations de) machines de Turing peut être considéré comme étant ou , ce qui est ouvert.2Nnat
N
Étant donné une machine de Turing et un langage , la déclaration qui dit "le langage est rejeté par " est semi-décidable car elle est décidable: il suffit d'exécuter avec l'entrée et de voir ce que Cela fait. Les conditions pour notre principe sont remplies! L’énoncé "chaque machine oracle a un langage tel que n’est pas accepté par " est écrit symboliquement par
Après inversion des quantificateurs on obtient
Mcrejects(M,c)cMMcMbbMb
∀M:N.∃b:2N.rejects(Mb,b).
∃b1,…,bn:2N.∀M:N.rejects(Mb1,b1)∨⋯∨rejects(Mbn,bn).
Ok, nous avons donc encore beaucoup de langues. Peut-on les combiner en un seul? Je vais laisser cela comme un exercice (pour moi et pour vous!).
Vous pourriez également être intéressé par la question légèrement plus générale de la transformation de en une instruction équivalente de la forme , ou vice versa. Il y a plusieurs façons de le faire, par exemple:∀x.∃y.ϕ(x,y)∃u.∀v.ψ(u,v)