Pembalikan bilangan adalah properti penting yang sering di belakang teorema terkenal.
Misalnya, dalam analisis perbedaan antara dan adalah perbedaan antara kontinuitas pointpoint dan uniform . Teorema terkenal mengatakan bahwa setiap peta kontinu pointwise adalah terus menerus seragam, asalkan domain itu bagus, yaitu kompak .∀ϵ>0.∀x.∃δ>0∀ϵ>0.∃δ>0.∀x
Faktanya, kekompakan adalah inti dari pembalikan kuantifier. Pertimbangkan dua tipe data dan yang adalah terang-terangan dan adalah kompak (lihat di bawah untuk penjelasan dari istilah-istilah ini), dan biarkan menjadi hubungan semidecidable antara dan . Pernyataan dapat dibaca sebagai berikut: setiap titik di dicakup oleh beberapa . Karena set "computably open" (semidecidable) danXYXYϕ(x,y)XY∀y:Y.∃x:X.ϕ(x,y)yYUx={z:Y∣ϕ(x,z)}UxYkompak ada subover terbatas. Kami telah membuktikan bahwa
menyiratkan
Seringkali kita dapat mengurangi keberadaan daftar terbatas menjadi tunggal . Sebagai contoh, jika dipesan secara linier dan adalah monoton dalam sehubungan dengan pesanan maka kita dapat menganggap sebagai yang terbesar dari .
∀y:Y.∃x:X.ϕ(x,y)
∃x1,…,xn:X.∀y:Y.ϕ(x1,y)∨⋯∨ϕ(xn,y).
x1,…,xnxXϕxxx1,…,xn
Untuk melihat bagaimana prinsip ini diterapkan dalam kasus yang umum, mari kita lihat pernyataan bahwa adalah fungsi kontinu. Kami menjaga sebagai variabel bebas agar tidak bingung tentang kuantifikasi universal luar:
Karena kompak dan perbandingan real dapat ditentukan, pernyataan dapat dipilih. Real positif terbuka dan kompak, sehingga kita dapat menerapkan prinsip:
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).
Karena adalah antimonoton dalam yang terkecil dari melakukan tugasnya, jadi kita hanya memerlukan satu :
Apa yang kita dapatkan adalah kesinambungan
seragam dari .
ϕ(δ,x)δδ1,…,δnδ∃δ>0.∀x∈[0,1].∀y∈[x−δ,x+δ].|f(y)−f(x)|<ϵ.
f
Secara samar-samar, suatu tipe data kompak jika memiliki quantifier universal yang dapat dihitung dan jelas jika ia memiliki quantifier eksistensial yang dapat dihitung. Bilangan bulat (non-negatif) jelas karena untuk menentukan setengah jadi apakah , dengan semidecidable, kami melakukan pencarian paralel dengan dovetailing . Ruang Cantor kompak dan terbuka, seperti yang dijelaskan oleh Abstrak Batu Dualitas Paul Taylor dan Martin Escardo " Topologi Sintetik Datatypes dan Ruang Klasik " (juga melihat gagasan terkait ruang dicari ).N∃n∈N.ϕ(n)ϕ(n)2N
Mari kita terapkan prinsip itu pada contoh yang Anda sebutkan. Kami melihat bahasa sebagai peta dari kata (hingga) dari alfabet tetap ke nilai boolean. Karena kata-kata hingga dalam korespondensi bijective yang dapat dihitung dengan integer, kami dapat melihat bahasa sebagai peta dari integer ke nilai boolean. Yaitu, tipe data dari semua bahasa, hingga isomorfisma yang dapat dihitung, tepatnya ruang Cantor nat -> bool
, atau dalam notasi matematika , yang ringkas. Mesin Turing polinomial waktu dijelaskan oleh programnya, yang merupakan string hingga, sehingga ruang semua (representasi dari) mesin Turing dapat dianggap atau , yang terbuka.2Nnat
N
Diberikan mesin Turing dan bahasa , pernyataan yang mengatakan "bahasa ditolak oleh " dapat ditentukan karena itu sebenarnya dapat ditentukan: jalankan dengan input dan lihat apa ya. Ketentuan untuk prinsip kami dipenuhi! Pernyataan "setiap mesin oracle memiliki bahasa sehingga tidak diterima oleh " ditulis secara simbolis sebagai
Setelah inversi dari quantifiers kita dapatkan
Mcrejects(M,c)cMMcMbbMb
∀M:N.∃b:2N.rejects(Mb,b).
∃b1,…,bn:2N.∀M:N.rejects(Mb1,b1)∨⋯∨rejects(Mbn,bn).
Oke, jadi kami ke banyak bahasa. Bisakah kita menggabungkannya menjadi satu? Saya akan meninggalkan itu sebagai latihan (untuk saya dan Anda!).
Anda mungkin juga tertarik dengan pertanyaan yang sedikit lebih umum tentang bagaimana mengubah dengan pernyataan setara dari formulir , atau sebaliknya. Ada beberapa cara untuk melakukan ini, misalnya:∀x.∃y.ϕ(x,y)∃u.∀v.ψ(u,v)