Dalam teori domain, untuk apa struktur tambahan yang ada dalam ruang metrik digunakan?

10

Bab Smyth dalam buku pegangan logika dalam ilmu komputer dan referensi lain menjelaskan bagaimana ruang metrik dapat digunakan sebagai domain. Saya mengerti bahwa ruang metrik lengkap memberikan titik tetap yang unik, tetapi saya tidak mengerti mengapa ruang metrik penting. Saya sangat menghargai pemikiran tentang pertanyaan-pertanyaan berikut.

Apa contoh bagus penggunaan ruang metrik (ultra / kuasi / semu) dalam semantik? Khususnya terkait dengan contoh apa pun: Mengapa kita membutuhkan struktur metrik? Apa yang kurang dari -CPO yang persediaan metriknya?ω

Juga: Apakah properti titik tetap unik penting? Apa contoh yang bagus?

Terima kasih!

Ben
sumber

Jawaban:

15

Relatif terhadap struktur domain, struktur metrik memberi Anda data tambahan pada perangkat operator. Pada dasarnya, Anda dapat membandingkan dua elemen mana saja dari ruang metrik dan lebih jauh lagi Anda tahu seberapa banyak dua elemen berbeda, sedangkan di domain struktur urutannya parsial, dan Anda tidak memiliki ukuran kuantitatif tentang seberapa banyak elemen berbeda.

Secara pragmatis, struktur ekstra ini berguna karena membuat menyelesaikan persamaan domain sangat mudah. Kembali di tahun 80-an ada banyak ilmuwan komputer Belanda menggunakan persamaan ruang metrik untuk memodelkan konkurensi, tetapi juga menarik saat ini.

Jika Anda telah mengikuti tempat-tempat biasa (POPL / ICFP / ESOP / dll), Anda akan memperhatikan bahwa apa yang disebut model langkah-indeks adalah bisnis besar hari ini, karena mereka membiarkan Anda memberikan model bahasa dengan kombinasi fitur (seperti polimorfisme impredikatif dan keadaan tingkat tinggi) yang sulit diobati dengan model teori-domain klasik. Namun, konstruksi yang digunakan dalam model ini sangat mirip dengan penyelesaian persamaan domain, dan wajar untuk bertanya-tanya apa sih koneksi itu. Lars Birkedal dan kolaboratornya memiliki gagasan umum bahwa menyelesaikan persamaan domain pada dua bagian (yaitu, jarak antara dua titik adalah semua dalam bentuk2nn) ruang ultrametrik adalah kehidupan denotasional rahasia model langkah-diindeks. Lihat karya Birkedal, Stovring dan Thamsborg "Solusi Kategori-Teoretis untuk Persamaan Ruang Metrik Rekursif" untuk beberapa karya terbaru di bidang ini.

Sekarang, semua pekerjaan ini telah difokuskan pada mendapatkan model sama sekali, tapi itu bukan satu-satunya hal yang kami minati - kami tidak bisa hanya mengganti pesanan parsial dengan struktur metrik dalam model denotasional dan berharap itu berarti persis sama benda. Jadi, Anda mungkin bertanya-tanya apa dampak model metrik pada properti seperti abstraksi penuh, misalnya.

timeoutneen

Kekuatan penyelesaian ekstra ini adalah kekuatan dan kelemahan teknik metrik. Dalam catatan mereka "Langkah Pengindeksan: Yang Baik, yang Buruk, dan yang Jelek", Benton dan Hur menunjukkan bahwa struktur tambahan dari model langkah-indeks sangat berguna bagi mereka untuk memberikan bukti ketepatan gaya realisasi dari bahasa pemrograman yang diterapkan dalam istilah bahasa tingkat rendah yang buruk. Namun, struktur tambahan juga membuat mereka tidak melakukan optimasi yang dalam beberapa hal "terlalu efektif", karena dapat mengacaukan informasi jarak. Jadi itu membantu dan menyakiti mereka.

Df

Namun, Anda mungkin tidak ingin melakukan itu. Sebagai contoh, dalam penelitian saya sendiri baru-baru ini (dengan Nick Benton), saya telah bekerja pada pemrograman aliran data sinkron tingkat tinggi. Di sini, idenya adalah bahwa kita dapat memodelkan program interaktif melalui waktu sebagai fungsi streaming. Secara alami, kami ingin mempertimbangkan definisi rekursif (misalnya, bayangkan menulis fungsi yang menerima aliran angka sebagai input, dan menampilkan aliran angka yang sesuai dengan jumlah elemen aliran yang terlihat sejauh ini).

Tetapi tujuan eksplisit dari karya ini adalah untuk memastikan bahwa hanya definisi yang beralasan yang diizinkan, sementara masih memungkinkan definisi yang berulang. Jadi, saya memodelkan stream sebagai ruang ultrametrik dan berfungsi sebagai peta nonekspansif (sebagai tambahan, ini menggeneralisasikan kondisi kausalitas pemrograman reaktif). Di bawah metrik yang saya gunakan, definisi yang dijaga tentang fungsi stream berhubungan dengan fungsi kontraktual pada stream, dan oleh teorema titik tetap Banach, titik tetap yang unik ada. Secara intuitif, properti keunikan berarti bahwa komputasi titik tetap bekerja sama tidak peduli apa pun elemen ruang yang kita mulai, sehingga sebagai hasilnya kita dapat menghitung titik tetap fungsi kontraktif pada ruang, bahkan jika ruang tidak memiliki minimal elemen dalam arti teori domain.

Neel Krishnaswami
sumber