Ну, я думаю, что пора у нас есть еще один проверочный вопрос.
На этот раз мы собираемся доказать общеизвестную логическую истину
Для этого мы будем использовать третью схему аксиом Лукасевича , невероятно элегантный набор из трех аксиом, которые полны логики высказываний .
Вот как это работает:
Аксиомы
Система Лукасевича имеет три аксиомы. Они есть:
Аксиомы являются универсальными истинами независимо от того, что мы выбираем для , и . В любой точке доказательства мы можем ввести одну из этих аксиом. Когда мы вводим аксиому, вы заменяете каждый случай , и «сложным выражением». Сложное выражение - это любое выражение, сделанное из Atoms (представленное буквами - ), и операторы подразумевают ( ), а не ( ).
Например, если бы я хотел представить первую аксиому (LS1), я мог бы представить
или
В первом случае было а было , тогда как во втором случае оба были более сложными выражениями. был и WAS .
Какие замены вы выберете для использования, будет зависеть от того, что вам нужно в доказательстве на данный момент.
Модус Поненс
Теперь, когда мы можем представить заявления, нам нужно связать их вместе, чтобы сделать новые заявления. Способ, которым это сделано в Схеме Аксиомы Лукасевича (LS), является с Модусом Поненсом. Модус Поненс позволяет нам принимать два утверждения вида
и создать новое заявление
Как и в случае с нашими Аксиомами, и могут заменить любое произвольное утверждение.
Эти два утверждения могут быть где угодно в доказательстве, они не должны быть рядом друг с другом или каким-либо особым порядком.
задача
Ваша задача будет доказать закон противозачаточных средств . Это утверждение
Теперь вы можете заметить, что это довольно знакомо, это воплощение обратной нашей третьей аксиомы
Однако это не тривиальный подвиг.
счет
Подсчет баллов за эту задачу довольно прост: каждый раз, когда вы создаете аксиому, она считается точкой, а каждое использование modus ponens считается точкой. По сути, это количество строк в вашем доказательстве. Цель должна состоять в том, чтобы свести к минимуму ваш счет (сделать его как можно ниже).
Пример доказательства
Хорошо, теперь давайте использовать это, чтобы создать небольшое доказательство. Докажем .
Иногда лучше работать задом наперед, так как мы знаем, где мы хотим быть, мы можем понять, как мы можем туда добраться. В этом случае, так как мы хотим закончить и это не одна из наших аксиом, мы знаем, что последний шаг должен быть modus ponens. Таким образом, конец нашего доказательства будет выглядеть
φ
φ → (A → A)
A → A M.P.
Где - это выражение, значение которого мы еще не знаем. Теперь мы сосредоточимся на . Это может быть введено либо Modus Ponens или LS3. LS3 требует от нас доказать которое кажется таким же трудным, как , поэтому мы пойдем с modus ponens. Итак, теперь наше доказательство выглядит
φ
ψ
ψ → (φ → (A → A))
φ → (A → A) M.P.
A → A M.P.
Теперь очень похоже на нашу вторую аксиому LS2, поэтому мы заполним ее как LS2
A → χ
A → (χ → A)
(A → (χ → A)) → ((A → χ) → (A → A)) L.S.2
(A → χ) → (A → A) M.P.
A → A M.P.
Теперь наше второе утверждение может быть довольно ясно построено из LS1, поэтому мы заполним его так
A → χ
A → (χ → A) L.S.1
(A → (χ → A)) → ((A → χ) → (A → A)) L.S.2
(A → χ) → (A → A) M.P.
A → A M.P.
Теперь нам просто нужно найти такой, чтобы мы могли доказать . Это очень легко сделать с помощью LS1, поэтому мы попробуем
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.
Теперь, поскольку все наши шаги наши обоснованы, мы можем заполнить , как и любое утверждение, которое мы хотим, и доказательство будет верным. Мы могли бы выбрать , но я буду выбирать так , чтобы было ясно , что он не должен быть .
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.
И это доказательство.
Ресурсы
Программа проверки
Вот программа Prolog, которую вы можете использовать, чтобы убедиться, что ваши доказательства действительно действительны. Каждый шаг должен быть размещен на отдельной строке. ->
следует использовать для подразумеваемых и -
следует использовать для не, атомы могут быть представлены любой строкой буквенных символов.
Metamath
Metamath использует систему Лукасевича для своих доказательств в исчислении высказываний, так что вы можете немного покопаться там. У них также есть доказательство теоремы, которую требует этот вызов, которую можно найти здесь . Существует объяснение здесь о том , как читать корректуру.
Невероятная Машина Доказательства
@ Antony рассказал мне об инструменте под названием The Incredible Proof machine, который позволяет создавать доказательства в ряде систем, используя красивую графическую систему доказательств. Если вы прокрутите вниз, то обнаружите, что они поддерживают систему Лукасевича. Так что, если вы более визуально ориентированный человек, вы можете работать над своим доказательством там. Ваш счет будет количество используемых блоков минус 1.
((P → Q) → R) → ((R → P) → (S → P))