Di kelas minggu ini kita telah belajar tentang CFL dan properti penutupannya. Saya telah melihat bukti untuk persatuan, persimpangan dan pujian tetapi untuk pembalikan dosen saya hanya mengatakan itu ditutup. Saya ingin melihat buktinya jadi saya sudah mencari selama beberapa hari terakhir, tetapi yang saya temukan adalah kebanyakan orang hanya mengatakan bahwa untuk membalikkan produksi sudah cukup untuk membuktikannya. Mereka yang sedikit lebih formal hanya menyatakan ada bukti induktif mudah yang dapat Anda berikan. Adakah yang bisa memberi saya lebih banyak informasi / petunjuk tentang bukti induktif? Cobalah sebisa mungkin, saya tidak bisa memunculkannya.
sumber
Ada cara lain untuk melihat masalah ini.
Pertimbangkan bahwa Bahasa adalah CFL. Ini berarti bahwa ada tata bahasa yang memenuhi CFL. Kita dapat mengasumsikan bahwa ini adalah dalam Bentuk Normal Chomsky.L G={N,∑,P,S}
Jika adalah bagian dari bahasa, sepele juga merupakan bagian dari bahasa. Sekarang untuk setiap produksi formulir , gantikan dengan, dan untuk produksi bentuk , di mana , biarkan sama.ϵ ϵR P1⟶AB P1⟶BA P1⟶a a∈∑
Dari pohon parse dari string yang diturunkan, mudah untuk melihat bahwa bahasa yang diturunkan akan persis kebalikan dari bahasa awal karena konstruksi mencerminkan pohon parse asli.
sumber
Pertama. CFL tidak ditutup di bawah persimpangan atau komplemen (atau perbedaan dalam hal ini). Mereka ditutup di bawah Union, Concatenation, penutupan bintang Kleene, substitusi, homomorfisme, homomorfisme terbalik, dan pembalikan. CATATAN: Kedua homomorfisma biasanya tidak tercakup dalam kursus Teori Komputer intro.
Untuk membuktikan pembalikan, Misalkan L menjadi CFL, dengan tata bahasa G = (V, T, P, S). Misalkan L R menjadi kebalikan dari L, sehingga Tata Bahasa adalah G R = (V, T, P R , S). Artinya, balikkan setiap produksi.
Ex. P -> AB akan menjadi P -> BA
Karena G R adalah CFG, karena itu L (G R ) adalah CFL.
sumber