Jika Anda memiliki dua fungsi yang menerapkan algoritma penyortiran yang berbeda, apakah mungkin menyimpulkan dengan kode sumber bahwa keduanya memiliki properti eksternal yang sama? Berarti mereka berdua akan memiliki urutan yang mungkin tidak disortir sebagai input dan memiliki urutan yang diurutkan sebagai output? Dengan cara apa properti eksternal ini dapat ditentukan oleh kode sumber? Dan bagaimana Anda menggambarkan properti eksternal ini? Notasi apa yang akan digunakan?
Properti eksternal dapat diketahui dengan mendefinisikannya secara eksplisit, misalnya dalam sistem tipe, tetapi saya bertanya-tanya apakah ini dapat dilakukan secara implisit. Atau apakah secara teoretis tidak mungkin menyimpulkan semantik semacam ini? Saya tertarik pada apakah ini mungkin untuk fungsi sewenang-wenang, bukan hanya untuk menyortir algoritma, dengan asumsi hal-hal seperti fungsi akan selalu berhenti dan tidak memiliki efek samping.
Haruskah saya melihat semantik denotasional, atau tidak terkait?
Saya tertarik pada petunjuk untuk meneliti bidang ini dan istilah-istilah berbeda yang digunakan untuk menggambarkan subjek yang mungkin membantu pencarian literatur saya.
sumber
Kesetaraan ekstensional dalam bahasa pemrograman lengkap Turing tidak dapat diputuskan secara umum, tetapi itu tidak akan menghentikan Anda untuk dapat memverifikasi atau memalsukan bahwa dua fungsi spesifik mana pun secara ekstensi sama.
sumber
Sebuah jawaban cepat (saya akui saya tidak menghabiskan banyak waktu ...) Teorema Rice mengatakan bahwa untuk pertanyaan yang tidak sepele, tidak dapat dipungkiri untuk mengatakan apakah fungsi yang dihitung oleh suatu program akan memiliki properti atau tidak. Karena itu pertanyaan di sini tidak dapat dipastikan
sumber