Yah saya pikir sudah saatnya kita memiliki pertanyaan bukti-golf .
Kali ini kita akan membuktikan kebenaran logis yang terkenal
Untuk melakukan ini kita akan menggunakan Skema Aksioma ketiga Łukasiewicz , seperangkat tiga aksioma yang sangat elegan yang lengkap atas logika proposisional .
Inilah cara kerjanya:
Aksioma
Sistem Łukasiewicz memiliki tiga aksioma. Mereka:
Aksioma adalah kebenaran universal terlepas dari apa yang kita pilih untuk , dan . Kapan saja dalam buktinya kita bisa memperkenalkan salah satu aksioma ini. Saat kami memperkenalkan aksioma, Anda mengganti setiap kasus , dan , dengan "ekspresi kompleks". Ekspresi kompleks adalah setiap ekspresi yang dibuat dari Atom, (diwakili oleh huruf - ), dan operator menyiratkan ( ) dan bukan ( ).
Sebagai contoh jika saya ingin memperkenalkan aksioma pertama (LS1) yang bisa saya perkenalkan
atau
Dalam kasus pertama adalah dan adalah , sedangkan dalam kasus kedua keduanya lebih banyak melibatkan ekspresi. adalah dan adalah .
Penggantian apa yang Anda pilih untuk digunakan akan tergantung pada apa yang Anda butuhkan dalam bukti saat ini.
Modus Ponens
Sekarang kita dapat memperkenalkan pernyataan, kita perlu menghubungkannya bersama untuk membuat pernyataan baru. Cara ini dilakukan di Skema Aksioma Łukasiewicz (LS) adalah dengan Modus Ponens. Modus Ponens memungkinkan kita mengambil dua pernyataan dalam formulir
dan instantiate pernyataan baru
Sama seperti dengan Aksioma kami dan dapat mendukung setiap pernyataan sewenang-wenang.
Kedua pernyataan itu bisa di mana saja di buktinya, mereka tidak harus bersebelahan atau pesanan khusus apa pun.
Tugas
Tugas Anda adalah membuktikan hukum alat kontrasepsi . Ini pernyataannya
Sekarang Anda mungkin memperhatikan bahwa ini agak akrab, ini merupakan contoh kebalikan dari aksioma ketiga kami
Namun ini bukan hal sepele.
Mencetak gol
Penilaian untuk tantangan ini cukup sederhana, setiap kali Anda membuat contoh aksioma dianggap sebagai poin dan setiap penggunaan modus ponens dianggap sebagai poin. Ini pada dasarnya adalah jumlah baris dalam bukti Anda. Tujuannya adalah untuk meminimalkan skor Anda (membuatnya serendah mungkin).
Contoh Bukti
Ok sekarang mari kita gunakan ini untuk membangun bukti kecil. Kami akan membuktikan .
Kadang-kadang yang terbaik adalah bekerja mundur karena kita tahu di mana kita ingin berada, kita bisa memikirkan bagaimana kita bisa sampai di sana. Dalam hal ini karena kita ingin mengakhiri dengan dan ini bukan salah satu aksioma kita, kita tahu langkah terakhir pasti modus ponens. Jadi akhir dari bukti kita akan terlihat seperti
φ
φ → (A → A)
A → A M.P.
Di mana adalah ekspresi yang belum kita ketahui nilainya. Sekarang kita akan fokus pada . Ini dapat diperkenalkan baik oleh mode ponens atau LS3. LS3 mengharuskan kita untuk membuktikan yang tampaknya sama sulitnya dengan , jadi kita akan menggunakan modus ponens. Jadi sekarang buktinya bukti kami
φ
ψ
ψ → (φ → (A → A))
φ → (A → A) M.P.
A → A M.P.
Sekarang sangat mirip dengan aksioma LS2 kedua kami sehingga kami akan mengisinya sebagai LS2
A → χ
A → (χ → A)
(A → (χ → A)) → ((A → χ) → (A → A)) L.S.2
(A → χ) → (A → A) M.P.
A → A M.P.
Sekarang pernyataan kedua kami dapat dibuat dengan jelas dari LS1 sehingga kami akan mengisinya dengan demikian
A → χ
A → (χ → A) L.S.1
(A → (χ → A)) → ((A → χ) → (A → A)) L.S.2
(A → χ) → (A → A) M.P.
A → A M.P.
Sekarang kita hanya perlu menemukan sehingga kita bisa membuktikan . Ini sangat mudah dilakukan dengan LS1 sehingga kami akan mencobanya
A → (ω → A) L.S.1
A → ((ω → A) → A) L.S.1
(A → ((ω → A) → A)) → ((A → (ω → A)) → (A → A)) L.S.2
(A → (ω → A)) → (A → A) M.P.
A → A M.P.
Sekarang karena semua langkah kami dibenarkan, kami dapat mengisi , karena setiap pernyataan yang kami inginkan dan buktinya akan valid. Kita bisa memilih tapi saya akan memilih sehingga jelas bahwa hal itu tidak perlu .
A → (B → A) L.S.1
A → ((B → A) → A) L.S.1
(A → ((B → A) → A)) → ((A → (B → A)) → (A → A)) L.S.2
(A → (B → A)) → (A → A) M.P.
A → A M.P.
Dan itu adalah bukti.
Sumber daya
Program verifikasi
Berikut adalah program Prolog yang dapat Anda gunakan untuk memverifikasi bahwa bukti Anda sebenarnya valid. Setiap langkah harus ditempatkan pada jalurnya sendiri. ->
harus digunakan untuk menyiratkan dan -
harus digunakan untuk tidak, atom dapat diwakili oleh string karakter alfabet.
Metamath
Metamath menggunakan sistem Łukasiewicz sebagai buktinya dalam kalkulus proposisional, jadi Anda mungkin ingin melihat-lihat sedikit di sana. Mereka juga memiliki bukti teorema yang ditanyakan oleh tantangan ini yang dapat ditemukan di sini . Ada penjelasan di sini tentang cara membaca buktinya.
Mesin Bukti Luar Biasa
@ Antony membuat saya sadar akan alat yang disebut The Incredible Proof machine yang memungkinkan Anda membuat bukti di sejumlah sistem menggunakan sistem bukti grafis yang bagus. Jika Anda menggulir ke bawah, Anda akan menemukan mereka mendukung sistem Łukasiewicz. Jadi, jika Anda adalah orang yang lebih berorientasi visual, Anda dapat mengerjakan bukti Anda di sana. Skor Anda akan menjadi jumlah blok yang digunakan minus 1.
((P → Q) → R) → ((R → P) → (S → P))