Vâng, tôi nghĩ rằng đã đến lúc chúng ta có một câu hỏi bằng chứng về golf .
Lần này chúng ta sẽ chứng minh sự thật logic nổi tiếng
Để làm điều này, chúng tôi sẽ sử dụng Lược đồ Axiom thứ ba của Łukasiewicz , một bộ ba tiên đề cực kỳ thanh lịch hoàn chỉnh theo logic mệnh đề .
Đây là cách nó làm việc:
Tiên đề
Hệ thống Łukasiewicz có ba tiên đề. Họ đang:
Các tiên đề là những sự thật phổ quát bất kể chúng ta chọn gì cho , và . Tại bất kỳ điểm nào trong bằng chứng, chúng tôi có thể giới thiệu một trong những tiên đề này. Khi chúng tôi giới thiệu một tiên đề, bạn thay thế từng trường hợp , và , bằng một "biểu thức phức tạp". Một biểu thức phức tạp là bất kỳ biểu thức nào được tạo ra từ các Nguyên tử, (được biểu thị bằng các chữ cái - ) và các toán tử ngụ ý ( ) chứ không phải ( ).
Ví dụ: nếu tôi muốn giới thiệu tiên đề đầu tiên (LS1) tôi có thể giới thiệu
hoặc là
Trong trường hợp đầu tiên là và là , trong trường hợp thứ hai cả hai đều có nhiều biểu thức liên quan hơn. là và là .
Những thay thế bạn chọn để sử dụng sẽ phụ thuộc vào những gì bạn cần trong bằng chứng tại thời điểm này.
Modus Ponens
Bây giờ chúng tôi có thể giới thiệu các tuyên bố, chúng tôi cần liên kết chúng lại với nhau để đưa ra các tuyên bố mới. Cách thức này được thực hiện trong Axiom Schema (LS) của ukasiewicz là với Modus Ponens. Modus Ponens cho phép chúng tôi lấy hai tuyên bố của mẫu
và khởi tạo một tuyên bố mới
Giống như với Axioms và của chúng tôi có thể thay thế cho bất kỳ tuyên bố độc đoán nào.
Hai tuyên bố có thể là bất cứ nơi nào trong bằng chứng, chúng không phải ở cạnh nhau hoặc bất kỳ trật tự đặc biệt nào.
Bài tập
Nhiệm vụ của bạn sẽ là chứng minh luật của các đối tượng . Đây là tuyên bố
Bây giờ bạn có thể nhận thấy rằng điều này khá quen thuộc, nó là một khởi tạo đảo ngược của tiên đề thứ ba của chúng tôi
Tuy nhiên đây không phải là một chiến công tầm thường.
Chấm điểm
Ghi điểm cho thử thách này khá đơn giản, mỗi lần bạn khởi tạo một tiên đề được tính là một điểm và mỗi lần sử dụng modus ponens được tính là một điểm. Đây thực chất là số lượng dòng trong bằng chứng của bạn. Mục tiêu nên là tối thiểu hóa điểm số của bạn (làm cho nó càng thấp càng tốt).
Bằng chứng mẫu
Ok bây giờ cho phép sử dụng điều này để xây dựng một bằng chứng nhỏ. Chúng tôi sẽ chứng minh .
Đôi khi, tốt nhất là làm việc ngược lại vì chúng ta biết chúng ta muốn ở đâu, chúng ta có thể tìm ra cách chúng ta có thể đến đó. Trong trường hợp này vì chúng tôi muốn kết thúc với và đây không phải là một trong những tiên đề của chúng tôi, chúng tôi biết bước cuối cùng phải là modus ponens. Do đó, kết thúc bằng chứng của chúng tôi sẽ giống như
φ
φ → (A → A)
A → A M.P.
Trong đó là một biểu thức chúng ta chưa biết giá trị của. Bây giờ chúng tôi sẽ tập trung vào . Điều này có thể được giới thiệu bởi modus ponens hoặc LS3. LS3 yêu cầu chúng tôi chứng minh có vẻ khó như , vì vậy chúng tôi sẽ đi với modus ponens. Vì vậy, bây giờ bằng chứng của chúng tôi trông giống như
φ
ψ
ψ → (φ → (A → A))
φ → (A → A) M.P.
A → A M.P.
Bây giờ trông rất giống với tiên đề thứ hai LS2 của chúng tôi, vì vậy chúng tôi sẽ điền nó vào dưới dạng LS2
A → χ
A → (χ → A)
(A → (χ → A)) → ((A → χ) → (A → A)) L.S.2
(A → χ) → (A → A) M.P.
A → A M.P.
Bây giờ câu lệnh thứ hai của chúng tôi có thể được xây dựng rõ ràng từ LS1 vì vậy chúng tôi sẽ điền vào đó như vậy
A → χ
A → (χ → A) L.S.1
(A → (χ → A)) → ((A → χ) → (A → A)) L.S.2
(A → χ) → (A → A) M.P.
A → A M.P.
Bây giờ chúng ta chỉ cần tìm một sao cho chúng ta có thể chứng minh . Điều này có thể rất dễ dàng được thực hiện với LS1 vì vậy chúng tôi sẽ thử
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.
Bây giờ vì tất cả các bước của chúng tôi đều hợp lý, chúng tôi có thể điền vào , vì bất kỳ tuyên bố nào chúng tôi muốn và bằng chứng sẽ có hiệu lực. Chúng ta có thể chọn nhưng tôi sẽ chọn để nó là rõ ràng rằng nó không cần phải được .
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.
Và đó là một bằng chứng.
Tài nguyên
Chương trình xác minh
Đây là một chương trình Prolog bạn có thể sử dụng để xác minh rằng bằng chứng của bạn trên thực tế là hợp lệ. Mỗi bước nên được đặt trên dòng riêng của nó. ->
nên được sử dụng cho ngụ ý và -
nên được sử dụng cho không, các nguyên tử có thể được biểu diễn bằng bất kỳ chuỗi ký tự chữ cái nào.
Metamath
Metamath sử dụng hệ thống Łukasiewicz cho các bằng chứng của nó trong phép tính mệnh đề, vì vậy bạn có thể muốn chọc quanh đó một chút. Họ cũng có một bằng chứng về định lý mà thách thức này yêu cầu có thể tìm thấy ở đây . Có một lời giải thích ở đây về cách đọc các bằng chứng.
Máy chứng minh đáng kinh ngạc
@ Antony cho tôi biết về một công cụ có tên The Incredible Proof machine cho phép bạn xây dựng bằng chứng trong một số hệ thống bằng hệ thống chứng minh đồ họa đẹp. Nếu bạn cuộn xuống, bạn sẽ thấy họ hỗ trợ hệ thống Łukasiewicz. Vì vậy, nếu bạn là một người có định hướng trực quan hơn, bạn có thể làm việc trên bằng chứng của mình ở đó. Điểm của bạn sẽ là số khối được sử dụng trừ đi 1.
((P → Q) → R) → ((R → P) → (S → P))