Asumsikan kita memiliki bahasa sederhana yang terdiri dari istilah:
- jika adalah suku maka demikian juga saya f
Sekarang asumsikan aturan evaluasi logis berikut:
Misalkan kita juga menambahkan aturan funky berikut:
Untuk bahasa sederhana ini dengan aturan evaluasi yang diberikan, saya ingin membuktikan yang berikut:
Teorema: Jika dan r → t maka ada beberapa istilah u sehingga s → u dan t → u .
Saya membuktikan ini dengan induksi pada struktur . Inilah bukti saya sejauh ini, semuanya bekerja dengan baik, tetapi saya terjebak pada kasus terakhir. Sepertinya induksi pada struktur r tidak mencukupi, adakah yang bisa membantu saya?
Bukti. Dengan induksi pada , kami akan memisahkan semua bentuk yang dapat diambil r :
- adalah konstanta, tidak ada yang perlu dibuktikan karena bentuk normal tidak mengevaluasi apa pun.
- jika benar maka r 2 lain r 3 . (a) kedua derivasi dilakukan dengan aturan E-IfTrue. Dalam hal ini s = t , jadi tidak ada yang bisa dibuktikan. (B) satu deriviasi dilakukan dengan aturan E-IfTrue, yang lain dengan aturan E-Funny. Asumsikan r → s dilakukan dengan E-IfTrue, kasus lain terbukti setara. Kita sekarang tahu bahwa s = r 2 . Kita juga tahu bahwa t = jika benar maka r ' 2 yang lain r 3 dan bahwa ada beberapa deriviation r 2 → (premis). Jika sekarang kita memilihu=r ′ 2 , kami menyimpulkan kasusnya.
- jika salah maka r 2 lain r 3 . Terbukti sama seperti di atas.
- jika r 1 maka r 2 lain r 3 dengan r 1 ≠ benar atau salah. (a) kedua deriviasi dilakukan dengan aturan E-If. Kita sekarang tahu bahwa s = jika r ′ 1 maka r 2 lagi r 3 dan t = jika r ″ 1 maka r 2 lagi r 3 . Kita juga tahu bahwa ada deriviasi r 1 → r ′ 1dan (premis). Kita sekarang dapat menggunakan hipotesis induksi untuk mengatakan bahwa ada beberapa istilah r ‴ 1 sehingga r ′ 1 → r ‴ 1 dan r ″ 1 → r ‴ 1 . Kami sekarang menyimpulkan kasus dengan mengatakan u = jika r ‴ 1 maka r 2 lain r 3 dan memperhatikan bahwa s → u dan t →oleh aturan E-If. (B) satu derivasi dilakukan oleh aturan E-If dan satu derivasi oleh aturan E-Funny.
Kasus terakhir ini, di mana satu derivasi dilakukan oleh E-If dan satu oleh E-Funny adalah kasus yang saya lewatkan ... Saya sepertinya tidak bisa menggunakan hipotesis.
Bantuan akan sangat dihargai.
Jawaban:
Oke, jadi mari kita perhatikan kasus yang , s telah diturunkan dengan menerapkan aturan E-If dan t telah diturunkan dengan menerapkan aturan E-Funny: Jadi s = i fr=ift1thent2elset3 s t mana t 1 → t ′ 1 dan t = i fs=ift′1thent2elset3 t1→t′1 mana t 2 → t ′ 2 .t=ift1thent′2elset3 t2→t′2
The kita cari adalah u = iu u=ift′1thent′2elset3 . s→u follows from rule E-Funny and t→u follows from rule E-If.
sumber
Cara terbaik untuk membuktikan sifat aturan penulisan ulang yang terdefinisi secara induktif adalah dengan menginduksi struktur derivasi reduksi, daripada struktur term yang dikurangi. Di sini, keduanya berfungsi, karena aturan mengikuti struktur istilah sebelah kiri, tetapi alasan pada aturan itu lebih sederhana. Alih-alih menyelam ke dalam istilah, Anda mengambil semua pasangan aturan, dan melihat istilah apa yang bisa menjadi sisi kiri untuk keduanya. Dalam contoh ini, Anda akan mendapatkan kasus yang sama pada akhirnya, tetapi sedikit lebih cepat.
¹ You'll sometimes see types and rewriting together, but at their core they're orthogonal concepts.
sumber