(A → B) → (¬B → ¬A)


38

Ну, я думаю, что пора у нас есть еще один вопрос.

На этот раз мы собираемся доказать общеизвестную логическую истину

(AВ)(¬В¬A)

Для этого мы будем использовать третью схему аксиом Лукасевича , невероятно элегантный набор из трех аксиом, которые полны логики высказываний .

Вот как это работает:

Аксиомы

Система Лукасевича имеет три аксиомы. Они есть:

φ(ψφ)

(φ(ψχ))((φψ)(φχ))

(¬φ¬ψ)(ψφ)

Аксиомы являются универсальными истинами независимо от того, что мы выбираем для , и . В любой точке доказательства мы можем ввести одну из этих аксиом. Когда мы вводим аксиому, вы заменяете каждый случай , и «сложным выражением». Сложное выражение - это любое выражение, сделанное из Atoms (представленное буквами - ), и операторы подразумевают ( ), а не ( ).φψχφψχAZ¬

Например, если бы я хотел представить первую аксиому (LS1), я мог бы представить

A(ВA)

или

(AA)(¬D(AA))

В первом случае было а было , тогда как во втором случае оба были более сложными выражениями. был и WAS .φAψВφ(AA)ψ¬D

Какие замены вы выберете для использования, будет зависеть от того, что вам нужно в доказательстве на данный момент.

Модус Поненс

Теперь, когда мы можем представить заявления, нам нужно связать их вместе, чтобы сделать новые заявления. Способ, которым это сделано в Схеме Аксиомы Лукасевича (LS), является с Модусом Поненсом. Модус Поненс позволяет нам принимать два утверждения вида

φ

φψ

и создать новое заявление

ψ

Как и в случае с нашими Аксиомами, и могут заменить любое произвольное утверждение.φψ

Эти два утверждения могут быть где угодно в доказательстве, они не должны быть рядом друг с другом или каким-либо особым порядком.

задача

Ваша задача будет доказать закон противозачаточных средств . Это утверждение

(AВ)(¬В¬A)

Теперь вы можете заметить, что это довольно знакомо, это воплощение обратной нашей третьей аксиомы

(¬φ¬ψ)(ψφ)

Однако это не тривиальный подвиг.

счет

Подсчет баллов за эту задачу довольно прост: каждый раз, когда вы создаете аксиому, она считается точкой, а каждое использование modus ponens считается точкой. По сути, это количество строк в вашем доказательстве. Цель должна состоять в том, чтобы свести к минимуму ваш счет (сделать его как можно ниже).

Пример доказательства

Хорошо, теперь давайте использовать это, чтобы создать небольшое доказательство. Докажем .AA

Иногда лучше работать задом наперед, так как мы знаем, где мы хотим быть, мы можем понять, как мы можем туда добраться. В этом случае, так как мы хотим закончить и это не одна из наших аксиом, мы знаем, что последний шаг должен быть modus ponens. Таким образом, конец нашего доказательства будет выглядетьAA

φ
φ → (A → A)
A → A       M.P.

TeX

Где - это выражение, значение которого мы еще не знаем. Теперь мы сосредоточимся на . Это может быть введено либо Modus Ponens или LS3. LS3 требует от нас доказать которое кажется таким же трудным, как , поэтому мы пойдем с modus ponens. Итак, теперь наше доказательство выглядитφφ(AA)(¬A¬A)(AA)

φ
ψ
ψ → (φ → (A → A))
φ → (A → A)        M.P.
A → A              M.P.

TeX

Теперь ψ(φ(AA)) очень похоже на нашу вторую аксиому LS2, поэтому мы заполним ее как LS2

A → χ
A → (χ → A)
(A → (χ → A)) → ((A → χ) → (A → A)) L.S.2
(A → χ) → (A → A)                   M.P.
A → A                               M.P.

TeX

Теперь наше второе утверждение (A(χA)) может быть довольно ясно построено из LS1, поэтому мы заполним его так

A → χ
A → (χ → A)                         L.S.1
(A → (χ → A)) → ((A → χ) → (A → A)) L.S.2
(A → χ) → (A → A)                   M.P.
A → A                               M.P.

TeX

Теперь нам просто нужно найти χ такой, чтобы мы могли доказать Aχ . Это очень легко сделать с помощью 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.

TeX

Теперь, поскольку все наши шаги наши обоснованы, мы можем заполнить ω , как и любое утверждение, которое мы хотим, и доказательство будет верным. Мы могли бы выбрать A , но я буду выбирать В так , чтобы было ясно , что он не должен быть .A

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.

TeX

Попробуйте онлайн!

И это доказательство.

Ресурсы

Программа проверки

Вот программа Prolog, которую вы можете использовать, чтобы убедиться, что ваши доказательства действительно действительны. Каждый шаг должен быть размещен на отдельной строке. ->следует использовать для подразумеваемых и -следует использовать для не, атомы могут быть представлены любой строкой буквенных символов.

Metamath

Metamath использует систему Лукасевича для своих доказательств в исчислении высказываний, так что вы можете немного покопаться там. У них также есть доказательство теоремы, которую требует этот вызов, которую можно найти здесь . Существует объяснение здесь о том , как читать корректуру.

Невероятная Машина Доказательства

@ Antony рассказал мне об инструменте под названием The Incredible Proof machine, который позволяет создавать доказательства в ряде систем, используя красивую графическую систему доказательств. Если вы прокрутите вниз, то обнаружите, что они поддерживают систему Лукасевича. Так что, если вы более визуально ориентированный человек, вы можете работать над своим доказательством там. Ваш счет будет количество используемых блоков минус 1.


8
Подожди, позволь мне принести мою тетрадь Discrete Math ...
mbomb007

5
@DigitalTrauma Теперь я студент, и это было домашнее задание, которое у меня было (за исключением части гольфа), так что вполне возможно, что вы, возможно, изучали его. Я призываю вас попробовать, даже если вам не хватает «опыта», я думаю, что эта задача доступна даже для людей, которые в основном занимаются программированием.
Wheat Wizard

1
@ mbomb007 Вы не можете использовать теорему удержания, и, поскольку система Лукасевича завершена, вам не нужно ее использовать.
Пшеничный волшебник

1
Ну, по крайней мере, вы не ограничивали аксиомы одной универсальной схемой:((P → Q) → R) → ((R → P) → (S → P))
mbomb007

2
Невероятная Машина Доказательства все перетаскивает и поддерживает Лукасевича. Прокрутите почти до конца и найдите «систему Гильберта». Например, вот доказательство, которое @ user56656 дал, что A → A
Antony

Ответы:


25

88 82 77 72 шага

Спасибо H.PWiz за лучшие преобразования комбинатора, которые сэкономили 10 шагов!

объяснение

Возможно, вам знакомо соответствие Карри – Ховарда , в котором теоремы соответствуют типам, а доказательства соответствуют программам этих типов. Первые две аксиомы в системе Лукасевича на самом деле являются комбинаторами K и S , и хорошо известно, что мы можем преобразовать выражения лямбда-исчисления в комбинаторные выражения SK.

Итак, давайте запишем некоторые выражения, соответствующие нашим аксиомам (ниже приведен действительный синтаксис Haskell, что удобно, поскольку мы можем буквально проверять наши доказательства с помощью компилятора Haskell):

data Not φ

k :: φ ->  -> φ)
k x _ = x

s ::  ->  -> χ)) -> ((φ -> ψ) ->  -> χ))
s x y z = x z (y z)

c :: (Not φ -> Not ψ) ->  -> φ)
c = error "non-computational axiom"

Затем мы можем написать доказательство желаемого утверждения в виде программы в терминах c(эта часть требует некоторой хитрости, но гораздо проще написать это, чем 72-строчное аксиоматическое доказательство):

pf :: (a -> b) -> (Not b -> Not a)
pf x y = c (\z -> c (\_ -> y) (x (c (c (\_ -> z)) x))) k

и преобразовать его в комбинаторное выражение SK:

pf' :: (a -> b) -> (Not b -> Not a)
pf' =
  s (k (s (k (s c (k k)))))
    (s (k (s (s (k s) (s (k k) (s (k c) k)))))
       (s (k k) (s (k (s s (s (s (k c) (s (k c) k))))) k)))

Комбинаторы 17 k, 16 sи 4, cприведенные выше, соответствуют вызовам 16 LS1, 16 LS2 и 4 LS3 в приведенном ниже доказательстве, а 38 применений функции к значению выше соответствуют 38 вызовам MP ниже.

Почему только 16 вызовов LS1? Оказывается, у одного из перечисленных kвыше комбинаторов есть переменная свободного типа, и создание ее экземпляра тщательно превращает его в дубликат другого, который уже был получен.

Доказательство

  1. (A → B) → (¬¬A ((A → B)) LS1
  2. ¬¬A → (¬¬ (A → B) → ¬¬A) LS1
  3. (¬¬ (A → B) → ¬¬A) → (¬A → ¬ (A → B)) LS3
  4. ((¬¬ (A → B) → ¬¬A) → (¬A → ¬ (A → B))) → (¬¬A → ((¬¬ (A → B) → ¬¬A) → (¬ A → ¬ (A → B)))) LS1
  5. ¬¬ → ((¬¬ (A → B) → ¬¬A) → (¬A → ¬ (A → B))) MP 4,3
  6. (¬¬A → ((¬¬ (A → B) → ¬¬A) → (¬A → ¬ (A → B)))) → ((¬¬A ((¬¬ (A → B) → ¬ ¬A)) → (¬¬A ((¬A → ¬ (A → B)))) LS2
  7. (¬¬A → (¬¬ (A → B) → ¬¬A)) → (¬¬A → (¬A → ¬ (A → B))) MP 6,5
  8. ¬¬A → (¬A → ¬ (A → B)) MP 7,2
  9. (¬A → ¬ (A → B)) → ((A → B) → A) LS3
  10. ((¬A → ¬ (A → B)) → (((A → B) → A)) → (¬¬A → ((¬A → ¬ (A → B)) → (((A → B) → A ))) LS1
  11. ¬¬A → ((¬A → ¬ (A → B)) → (((A → B) → A)) MP 10,9
  12. (¬¬A → ((¬A → ¬ (A → B)) → (((A → B) → A))) → ((¬¬A ((¬A → ¬ (A → B)))) → ( ¬¬A → ((A → B) → A))) LS2
  13. (¬¬A → (¬A → ¬ (A → B))) → (¬¬A → ((A → B) → A)) MP 12,11
  14. ¬¬A → ((A → B) → A) MP 13,8
  15. (¬¬A → ((A → B) → A)) → ((¬¬A → (A → B)) → (¬¬A → A)) LS2
  16. (¬¬A → (A → B)) → (¬¬A → A) МР 15,14
  17. (¬¬A → (A → B)) → ((¬¬A → A) → (¬¬A → B)) LS2
  18. ((¬¬A → (A → B)) → ((¬¬A → A) → (¬¬A → B))) → (((¬¬A ((A → B)) → (¬¬A → A)) → ((¬¬A ((A → B)) → (¬¬A → B))) LS2
  19. ((¬¬A → (A → B)) → (¬¬A → A)) → ((¬¬A ((A → B)) → (¬¬A → B)) MP 18,17
  20. (¬¬A → (A → B)) → (¬¬A → B) МП 19,16
  21. ((¬¬A → (A → B)) → (¬¬A → B)) → ((A → B) → ((¬¬A ((A → B)) → (¬¬A → B)) ) LS1
  22. (A → B) → ((¬¬A ((A → B)) → (¬¬A → B)) MP 21,20
  23. ((A → B) → ((¬¬A → (A → B)) → (¬¬A → B))) → (((A → B) → (¬¬A ((A → B)))) → (((A → B) → (¬¬A → B))) LS2
  24. ((A → B) → (¬¬A → (A → B))) → (((A → B) → (¬¬A → B)) МР 23,22
  25. (A → B) → (¬¬A → B) MP 24,1
  26. (¬¬A → B) → (¬B → (¬¬A → B)) LS1
  27. ((¬¬A → B) → (¬B → (¬¬A → B))) → ((A → B) → ((¬¬A → B) → (¬B → (¬¬A → B) ))) LS1
  28. (A → B) → ((¬¬A → B) → (¬B → (¬¬A → B))) MP 27,26
  29. ((A → B) → ((¬¬A → B) → (¬B → (¬¬A → B)))) → (((A → B) → (¬¬A → B)) → (( A → B) → (¬B → (¬¬A → B)))) LS2
  30. ((A → B) → (¬¬A → B)) → ((A → B) → (¬B → (¬¬A → B))) MP 29,28
  31. (A → B) → (¬B → (¬¬A → B)) MP 30,25
  32. ¬B → (¬¬ (¬¬A → (¬¬ (A → B) → ¬¬A)) → ¬B) LS1
  33. (¬¬ (¬¬A → (¬¬ (A → B) → ¬¬A)) → ¬B) → (B → ¬ (¬¬A → (¬¬ (A → B) → ¬¬A)) ) LS3
  34. ((¬¬ (¬¬A → (¬¬ (A → B) → ¬¬A)) → ¬B) → (B → ¬ (¬¬A → (¬¬ (A → B) → ¬¬A) ))) → (¬B → ((¬¬ (¬¬A → (¬¬ (A → B) → ¬¬A)) → ¬B) → (B → ¬ (¬¬A → (¬¬ (A (A → B) → ¬¬A))))) LS1
  35. ¬B → ((¬¬ (¬¬A → (¬¬ (A → B) → ¬¬A)) → ¬B) → (B → ¬ (¬¬A → (¬¬ (A → B) → ¬ ¬А)))) МП 34,33
  36. (¬B → ((¬¬ (¬¬A → (¬¬ (A → B) → ¬¬A)) → ¬B) → (B → ¬ (¬¬A → (¬¬ (A → B) → ¬¬A))))) → ((¬B → (¬¬ (¬¬ → (¬¬ (A → B) → ¬¬A)) → ¬B)) → (¬B → (B → ¬ (¬¬A → (¬¬ (A → B) → ¬¬A))))) LS2
  37. (¬B → (¬¬ (¬¬A ((¬¬ (A → B) → ¬¬A)) → ¬B)) → (¬B → (B → ¬ (¬¬A → (¬¬ (A (A) → Б) → ¬¬А)))) МП 36,35
  38. ¬B → (B → ¬ (¬¬A → (¬¬ (A → B) → ¬¬A))) MP 37,32
  39. (B → ¬ (¬¬A → (¬¬ (A → B) → ¬¬A))) → (¬¬A ((B → ¬ (¬¬A → (¬¬ (A → B) → ¬¬) А)))) LS1
  40. ((B → ¬ (¬¬A → (¬¬ (A → B) → ¬¬A))) → (¬¬A → (B → ¬ (¬¬A → (¬¬ (A → B) → ¬ ¬A))))) → (¬B → ((B → ¬ (¬¬A → (¬¬ (A → B) → ¬¬A))) → (¬¬A → (B → ¬ (¬¬ A → (¬¬ (A → B) → ¬¬A)))))) LS1
  41. ¬B → ((B → ¬ (¬¬A → (¬¬ (A → B) → ¬¬A))) → (¬¬ → (B → ¬ (¬¬A → (¬¬ (A → B) ) → ¬¬A))))) MP 40,39
  42. (¬B → ((B → ¬ (¬¬A → (¬¬ (A → B) → ¬¬A))) → (¬¬ → (B → ¬ (¬¬A → (¬¬ (A → (A → B) → ¬¬A)))))) → ((¬B → (B → ¬ (¬¬A → (¬¬ (A → B) → ¬¬A)))) → (¬B → (¬ ¬A → (B → ¬ (¬¬A → (¬¬ (A → B) → ¬¬A)))))) LS2
  43. (¬B → (B → ¬ (¬¬A → (¬¬ (A → B) → ¬¬A)))) → (¬B → (¬¬ → (B → ¬ (¬¬A → (¬ ¬ (A → B) → ¬¬A))))) MP 42,41
  44. ¬B → (¬¬A → (B → ¬ (¬¬A → (¬¬ (A → B) → ¬¬A)))) MP 43,38
  45. (¬¬A → (B → ¬ (¬¬A → (¬¬ (A → B) → ¬¬A)))) → ((¬¬A → B) → (¬¬A → ¬ (¬¬A → (¬¬ (A → B) → ¬¬A)))) LS2
  46. ((¬¬A → (B → ¬ (¬¬A → (¬¬ (A → B) → ¬¬A)))) → ((¬¬A → B) → (¬¬A → ¬ (¬¬ A → (¬¬ (A → B) → ¬¬A))))) → (¬B → ((¬¬ → (B → ¬ (¬¬A → (¬¬ (A → B) → ¬¬) A)))) → ((¬¬A → B) → (¬¬A → ¬ (¬¬A → (¬¬ (A → B) → ¬¬A)))))) LS1
  47. ¬B → ((¬¬A → (B → ¬ (¬¬A → (¬¬ (A → B) → ¬¬A)))) → ((¬¬A → B) → (¬¬A → ¬ (¬¬A → (¬¬ (A → B) → ¬¬A))))) MP 46,45
  48. (¬B → ((¬¬A ((B → ¬ (¬¬A → (¬¬ (A → B) → ¬¬A)))) → ((¬¬A → B) → (¬¬A → ¬ (¬¬A → (¬¬ (A → B) → ¬¬A)))))) → ((¬B → (¬¬A → (B → ¬ (¬¬A → (¬¬ (A → (A → →) B) → ¬¬A))))) → (¬B → ((¬¬A → B) → (¬¬A → ¬ (¬¬A → (¬¬ (A → B) → ¬¬A)) )))) LS2
  49. (¬B → (¬¬A → (B → ¬ (¬¬A → (¬¬ (A → B) → ¬¬A))))) → (¬B → ((¬¬A → B) → ( ¬¬A → ¬ (¬¬A → (¬¬ (A → B) → ¬¬A))))) MP 48,47
  50. ¬B → ((¬¬A → B) → (¬¬A → ¬ (¬¬A → (¬¬ (A → B) → ¬¬A)))) MP 49,44
  51. (¬B → ((¬¬A → B) → (¬¬A → ¬ (¬¬A → (¬¬ (A → B) → ¬¬A))))) → ((¬B → (¬¬ A → B)) → (¬B → (¬¬A → ¬ (¬¬A → (¬¬ (A → B) → ¬¬A))))) LS2
  52. (¬B → (¬¬A → B)) → (¬B → (¬¬A → ¬ (¬¬A → (¬¬ (A → B) → ¬¬A)))) MP 51,50
  53. ((¬B → (¬¬A → B)) → (¬B → (¬¬A → ¬ (¬¬A → (¬¬ (A → B) → ¬¬A))))) → ((A → B) → ((¬B → (¬¬A → B)) → (¬B → (¬¬A → ¬ (¬¬A → (¬¬ (A → B) → ¬¬A))))) ) LS1
  54. (A → B) → ((¬B → (¬¬A → B)) → (¬B → (¬¬A → ¬ (¬¬A → (¬¬ (A → B) → ¬¬A))) )) МП 53,52
  55. ((A → B) → ((¬B → (¬¬A → B)) → (¬B → (¬¬A → ¬ (¬¬A → (¬¬ (A → B) → ¬¬A)) )))) → ((((A → B) → (¬B → (¬¬A → B))) → ((A → B) → (¬B → (¬¬A → ¬ (¬¬A → ( ¬¬ (A → B) → ¬¬A)))))) LS2
  56. ((A → B) → (¬B → (¬¬A → B))) → ((A → B) → (¬B → (¬¬A → ¬ (¬¬A → (¬¬ (A → B) ) → ¬¬A))))) МП 55,54
  57. (A → B) → (¬B → (¬¬A → ¬ (¬¬A → (¬¬ (A → B) → ¬¬A)))) MP 56,31
  58. (¬¬A → (¬¬ (A → B) → ¬¬A)) → ((¬¬A → ¬ (¬¬A → (¬¬ (A → B) → ¬¬A))) → (¬ ¬A → (¬¬ (A → B) → ¬¬A))) LS1
  59. (¬¬A → ¬ (¬¬A → (¬¬ (A → B) → ¬¬A))) → (¬¬A → (¬¬ (A → B) → ¬¬A)) MP 58,2
  60. (¬¬A → ¬ (¬¬A → (¬¬ (A → B) → ¬¬A))) → ((¬¬A → (¬¬ (A → B) → ¬¬A)) → ¬A ) LS3
  61. ((¬¬A → ¬ (¬¬A → (¬¬ (A → B) → ¬¬A))) → ((¬¬A → (¬¬ (A → B) → ¬¬A)) → ¬ A)) → (((¬¬A → ¬ (¬¬A → (¬¬ (A → B) → ¬¬A))) → (¬¬A → (¬¬ (A → B) → ¬¬A ))) → ((¬¬A → ¬ (¬¬A → (¬¬ (A → B) → ¬¬A))) → ¬A)) LS2
  62. ((¬¬A → ¬ (¬¬A → (¬¬ (A → B) → ¬¬A))) → (¬¬A → (¬¬ (A → B) → ¬¬A))) → ( (¬¬A → ¬ (¬¬A → (¬¬ (A → B) → ¬¬A))) → ¬A) MP 61,60
  63. (¬¬A → ¬ (¬¬A → (¬¬ (A → B) → ¬¬A))) → ¬A MP 62,59
  64. ((¬¬A → ¬ (¬¬A → (¬¬ (A → B) → ¬¬A))) → ¬A) → (¬B → ((¬¬A → ¬ (¬¬A → (¬ ¬ (A → B) → ¬¬A))) → ¬A)) LS1
  65. ¬B → ((¬¬A → ¬ (¬¬A → (¬¬ (A → B) → ¬¬A))) → ¬A) MP 64,63
  66. (¬B → ((¬¬A → ¬ (¬¬A → (¬¬ (A → B) → ¬¬A))) → ¬A)) → ((¬B → (¬¬A → ¬ (¬ ¬A → (¬¬ (A → B) → ¬¬A)))) → (¬B → ¬A)) LS2
  67. (¬B → (¬¬A → ¬ (¬¬A → (¬¬ (A → B) → ¬¬A)))) → (¬B → ¬A) MP 66,65
  68. ((¬B → (¬¬A → ¬ (¬¬A → (¬¬ (A → B) → ¬¬A)))) → (¬B → ¬A)) → ((A → B) → ( (¬B → (¬¬A → ¬ (¬¬A → (¬¬ (A → B) → ¬¬A)))) → (¬B → ¬A))) LS1
  69. (A → B) → ((¬B → (¬¬A → ¬ (¬¬A → (¬¬ (A → B) → ¬¬A)))) → (¬B → ¬A)) MP 68, 67
  70. ((A → B) → ((¬B → (¬¬A → ¬ (¬¬A → (¬¬ (A → B) → ¬¬A)))) → (¬B → ¬A))) → (((A → B) → (¬B → (¬¬A → ¬ (¬¬A → (¬¬ (A → B) → ¬¬A))))) → ((A → B) → (¬ B → ¬A))) LS2
  71. ((A → B) → (¬B → (¬¬A → ¬ (¬¬A → (¬¬ (A → B) → ¬¬A))))) → ((A → B) → (¬B → ¬A)) MP 70,69
  72. (A → B) → (¬B → ¬A) МР 71,57

Попробуйте онлайн!


1
Вау, это потрясающе.
Захари

2
Я не могу сказать, если он короче по шагам, и должен идти прямо сейчас. Но я получил s(s(k s)(s(k(s(k c)))(s(k(s(s(k s)(s(k k)(s(k c)k)))))(s(k k)(s(k(s s(s(s(k c)(s(k c)k)))))k)))))k что-то похожее на ваше, но с немного более коротким окончанием
H.PWiz

@ H.PWiz Аккуратно, это на самом деле соответствует немного другой программе доказательства. Обновлено.
Андерс Касеорг

1
Как насчет s(k(s(k(s c(k s)))))(s(k(s(s(k s)(s(k k)(s(k c)k)))))(s(k k)(s(k(s s(s(s(k c)(s(k c)k)))))k)))?
H.PWiz

@ H.PWiz Это хорошо для другого -5 вместе с трюком со свободной переменной типа.
Андерс Касеорг

24

91 шаг

Полное доказательство:

1. (A → B) → (¬¬A → (A → B)) LS1
2. (¬¬A → (A → B)) → ((¬¬A → A) → (¬¬A → B)) LS2
3. ((¬¬A → (A → B)) → ((¬¬A → A) → (¬¬A → B))) → ((A → B) → ((¬¬A → (A → B)) → ((¬¬A → A) → (¬¬A → B)))) LS1
4. (A → B) → ((¬¬A → (A → B)) → ((¬¬A → A) → (¬¬A → B))) MP 3,2
5. ((A → B) → ((¬¬A → (A → B)) → ((¬¬A → A) → (¬¬A → B)))) → (((A → B) → (¬¬A → (A → B))) → ((A → B) → ((¬¬A → A) → (¬¬A → B)))) LS2
6. ((A → B) → (¬¬A → (A → B))) → ((A → B) → ((¬¬A → A) → (¬¬A → B))) MP 5,4
7. (A → B) → ((¬¬A → A) → (¬¬A → B)) MP 6,1
8. ¬A → (¬¬(B → (¬A → A)) → ¬A) LS1
9. (¬¬(B → (¬A → A)) → ¬A) → (A → ¬(B → (¬A → A))) LS3
10. ((¬¬(B → (¬A → A)) → ¬A) → (A → ¬(B → (¬A → A)))) → (¬A → ((¬¬(B → (¬A → A)) → ¬A) → (A → ¬(B → (¬A → A))))) LS1
11. ¬A → ((¬¬(B → (¬A → A)) → ¬A) → (A → ¬(B → (¬A → A)))) MP 10,9
12. (¬A → ((¬¬(B → (¬A → A)) → ¬A) → (A → ¬(B → (¬A → A))))) → ((¬A → (¬¬(B → (¬A → A)) → ¬A)) → (¬A → (A → ¬(B → (¬A → A))))) LS2
13. (¬A → (¬¬(B → (¬A → A)) → ¬A)) → (¬A → (A → ¬(B → (¬A → A)))) MP 12,11
14. ¬A → (A → ¬(B → (¬A → A))) MP 13,8
15. (¬A → (A → ¬(B → (¬A → A)))) → ((¬A → A) → (¬A → ¬(B → (¬A → A)))) LS2
16. (¬A → A) → (¬A → ¬(B → (¬A → A))) MP 15,14
17. (¬A → ¬(B → (¬A → A))) → ((B → (¬A → A)) → A) LS3
18. ((¬A → ¬(B → (¬A → A))) → ((B → (¬A → A)) → A)) → ((¬A → A) → ((¬A → ¬(B → (¬A → A))) → ((B → (¬A → A)) → A))) LS1
19. (¬A → A) → ((¬A → ¬(B → (¬A → A))) → ((B → (¬A → A)) → A)) MP 18,17
20. ((¬A → A) → ((¬A → ¬(B → (¬A → A))) → ((B → (¬A → A)) → A))) → (((¬A → A) → (¬A → ¬(B → (¬A → A)))) → ((¬A → A) → ((B → (¬A → A)) → A))) LS2
21. ((¬A → A) → (¬A → ¬(B → (¬A → A)))) → ((¬A → A) → ((B → (¬A → A)) → A)) MP 20,19
22. (¬A → A) → ((B → (¬A → A)) → A) MP 21,16
23. (¬A → A) → (B → (¬A → A)) LS1
24. ((¬A → A) → ((B → (¬A → A)) → A)) → (((¬A → A) → (B → (¬A → A))) → ((¬A → A) → A)) LS2
25. ((¬A → A) → (B → (¬A → A))) → ((¬A → A) → A) MP 24,22
26. (¬A → A) → A MP 25,23
27. ¬¬A → (¬A → ¬¬A) LS1
28. (¬A → ¬¬A) → (¬A → A) LS3
29. ((¬A → ¬¬A) → (¬A → A)) → (¬¬A → ((¬A → ¬¬A) → (¬A → A))) LS1
30. ¬¬A → ((¬A → ¬¬A) → (¬A → A)) MP 29,28
31. (¬¬A → ((¬A → ¬¬A) → (¬A → A))) → ((¬¬A → (¬A → ¬¬A)) → (¬¬A → (¬A → A))) LS2
32. (¬¬A → (¬A → ¬¬A)) → (¬¬A → (¬A → A)) MP 31,30
33. ¬¬A → (¬A → A) MP 32,27
34. ((¬A → A) → A) → (¬¬A → ((¬A → A) → A)) LS1
35. ¬¬A → ((¬A → A) → A) MP 34,26
36. (¬¬A → ((¬A → A) → A)) → ((¬¬A → (¬A → A)) → (¬¬A → A)) LS2
37. (¬¬A → (¬A → A)) → (¬¬A → A) MP 36,35
38. ¬¬A → A MP 37,33
39. (¬¬A → A) → ((A → B) → (¬¬A → A)) LS1
40. (A → B) → (¬¬A → A) MP 39,38
41. ((A → B) → ((¬¬A → A) → (¬¬A → B))) → (((A → B) → (¬¬A → A)) → ((A → B) → (¬¬A → B))) LS2
42. ((A → B) → (¬¬A → A)) → ((A → B) → (¬¬A → B)) MP 41,7
43. (A → B) → (¬¬A → B) MP 42,40
44. ¬¬B → (¬¬(B → (¬¬B → ¬B)) → ¬¬B) LS1
45. (¬¬(B → (¬¬B → ¬B)) → ¬¬B) → (¬B → ¬(B → (¬¬B → ¬B))) LS3
46. ((¬¬(B → (¬¬B → ¬B)) → ¬¬B) → (¬B → ¬(B → (¬¬B → ¬B)))) → (¬¬B → ((¬¬(B → (¬¬B → ¬B)) → ¬¬B) → (¬B → ¬(B → (¬¬B → ¬B))))) LS1
47. ¬¬B → ((¬¬(B → (¬¬B → ¬B)) → ¬¬B) → (¬B → ¬(B → (¬¬B → ¬B)))) MP 46,45
48. (¬¬B → ((¬¬(B → (¬¬B → ¬B)) → ¬¬B) → (¬B → ¬(B → (¬¬B → ¬B))))) → ((¬¬B → (¬¬(B → (¬¬B → ¬B)) → ¬¬B)) → (¬¬B → (¬B → ¬(B → (¬¬B → ¬B))))) LS2
49. (¬¬B → (¬¬(B → (¬¬B → ¬B)) → ¬¬B)) → (¬¬B → (¬B → ¬(B → (¬¬B → ¬B)))) MP 48,47
50. ¬¬B → (¬B → ¬(B → (¬¬B → ¬B))) MP 49,44
51. (¬¬B → (¬B → ¬(B → (¬¬B → ¬B)))) → ((¬¬B → ¬B) → (¬¬B → ¬(B → (¬¬B → ¬B)))) LS2
52. (¬¬B → ¬B) → (¬¬B → ¬(B → (¬¬B → ¬B))) MP 51,50
53. (¬¬B → ¬(B → (¬¬B → ¬B))) → ((B → (¬¬B → ¬B)) → ¬B) LS3
54. ((¬¬B → ¬(B → (¬¬B → ¬B))) → ((B → (¬¬B → ¬B)) → ¬B)) → ((¬¬B → ¬B) → ((¬¬B → ¬(B → (¬¬B → ¬B))) → ((B → (¬¬B → ¬B)) → ¬B))) LS1
55. (¬¬B → ¬B) → ((¬¬B → ¬(B → (¬¬B → ¬B))) → ((B → (¬¬B → ¬B)) → ¬B)) MP 54,53
56. ((¬¬B → ¬B) → ((¬¬B → ¬(B → (¬¬B → ¬B))) → ((B → (¬¬B → ¬B)) → ¬B))) → (((¬¬B → ¬B) → (¬¬B → ¬(B → (¬¬B → ¬B)))) → ((¬¬B → ¬B) → ((B → (¬¬B → ¬B)) → ¬B))) LS2
57. ((¬¬B → ¬B) → (¬¬B → ¬(B → (¬¬B → ¬B)))) → ((¬¬B → ¬B) → ((B → (¬¬B → ¬B)) → ¬B)) MP 56,55
58. (¬¬B → ¬B) → ((B → (¬¬B → ¬B)) → ¬B) MP 57,52
59. (¬¬B → ¬B) → (B → (¬¬B → ¬B)) LS1
60. ((¬¬B → ¬B) → ((B → (¬¬B → ¬B)) → ¬B)) → (((¬¬B → ¬B) → (B → (¬¬B → ¬B))) → ((¬¬B → ¬B) → ¬B)) LS2
61. ((¬¬B → ¬B) → (B → (¬¬B → ¬B))) → ((¬¬B → ¬B) → ¬B) MP 60,58
62. (¬¬B → ¬B) → ¬B MP 61,59
63. ¬¬¬B → (¬¬B → ¬¬¬B) LS1
64. (¬¬B → ¬¬¬B) → (¬¬B → ¬B) LS3
65. ((¬¬B → ¬¬¬B) → (¬¬B → ¬B)) → (¬¬¬B → ((¬¬B → ¬¬¬B) → (¬¬B → ¬B))) LS1
66. ¬¬¬B → ((¬¬B → ¬¬¬B) → (¬¬B → ¬B)) MP 65,64
67. (¬¬¬B → ((¬¬B → ¬¬¬B) → (¬¬B → ¬B))) → ((¬¬¬B → (¬¬B → ¬¬¬B)) → (¬¬¬B → (¬¬B → ¬B))) LS2
68. (¬¬¬B → (¬¬B → ¬¬¬B)) → (¬¬¬B → (¬¬B → ¬B)) MP 67,66
69. ¬¬¬B → (¬¬B → ¬B) MP 68,63
70. ((¬¬B → ¬B) → ¬B) → (¬¬¬B → ((¬¬B → ¬B) → ¬B)) LS1
71. ¬¬¬B → ((¬¬B → ¬B) → ¬B) MP 70,62
72. (¬¬¬B → ((¬¬B → ¬B) → ¬B)) → ((¬¬¬B → (¬¬B → ¬B)) → (¬¬¬B → ¬B)) LS2
73. (¬¬¬B → (¬¬B → ¬B)) → (¬¬¬B → ¬B) MP 72,71
74. ¬¬¬B → ¬B MP 73,69
75. (¬¬¬B → ¬B) → (B → ¬¬B) LS3
76. B → ¬¬B MP 75,74
77. (B → ¬¬B) → (¬¬A → (B → ¬¬B)) LS1
78. ¬¬A → (B → ¬¬B) MP 77,76
79. (¬¬A → (B → ¬¬B)) → ((¬¬A → B) → (¬¬A → ¬¬B)) LS2
80. (¬¬A → B) → (¬¬A → ¬¬B) MP 79,78
81. ((¬¬A → B) → (¬¬A → ¬¬B)) → ((A → B) → ((¬¬A → B) → (¬¬A → ¬¬B))) LS1
82. (A → B) → ((¬¬A → B) → (¬¬A → ¬¬B)) MP 81,80
83. ((A → B) → ((¬¬A → B) → (¬¬A → ¬¬B))) → (((A → B) → (¬¬A → B)) → ((A → B) → (¬¬A → ¬¬B))) LS2
84. ((A → B) → (¬¬A → B)) → ((A → B) → (¬¬A → ¬¬B)) MP 83,82
85. (A → B) → (¬¬A → ¬¬B) MP 84,43
86. (¬¬A → ¬¬B) → (¬B → ¬A) LS3
87. ((¬¬A → ¬¬B) → (¬B → ¬A)) → ((A → B) → ((¬¬A → ¬¬B) → (¬B → ¬A))) LS1
88. (A → B) → ((¬¬A → ¬¬B) → (¬B → ¬A)) MP 87,86
89. ((A → B) → ((¬¬A → ¬¬B) → (¬B → ¬A))) → (((A → B) → (¬¬A → ¬¬B)) → ((A → B) → (¬B → ¬A))) LS2
90. ((A → B) → (¬¬A → ¬¬B)) → ((A → B) → (¬B → ¬A)) MP 89,88
91. (A → B) → (¬B → ¬A) MP 90,85

Попробуйте онлайн!

Более читабельная версия с использованием 5 лемм:

Lemma 1: From A → B and B → C, instantiate A → C. (5 steps)

1. B → C                                         given
2. (B → C) → (A → (B → C))                       L.S.1
3. A → (B → C)                                   M.P. (1,2)
4. (A → (B → C)) → ((A → B) → (A → C))           L.S.2
5. (A → B) → (A → C)                             M.P. (3,4)
6. A → B                                         given
7. A → C                                         M.P. (6,5)

Lemma 2: ¬A → (A → B) (7 steps)

1. ¬A → (¬B → ¬A)                                L.S.1
2. (¬B → ¬A) → (A → B)                           L.S.3
3. ¬A → (A → B)                                  Lemma 1 (1,2)

Lemma 3: From A → (B → C) and A → B, instantiate A → C. (3 steps)

1. A → (B → C)                                   given
2. (A → (B → C)) → ((A → B) → (A → C))           L.S.2
3. (A → B) → (A → C)                             M.P. (1,2)
4. A → B                                         given
5. A → C                                         M.P. (4,3)

Lemma 4: ¬¬A → A (31 steps)

1. ¬A → (A → ¬(B → (¬A → A)))                    Lemma 2
2. (¬A → (A → ¬(B → (¬A → A)))) → 
   ((¬A → A) → (¬A → ¬(B → (¬A → A))))           L.S.2
3. (¬A → A) → (¬A → ¬(B → (¬A → A)))             M.P. (1,2)
4. (¬A → ¬(B → (¬A → A))) →((B → (¬A → A)) → A)  L.S.3
5. (¬A → A) → ((B → (¬A → A)) → A)               Lemma 1 (3,4)
6. (¬A → A) → (B → (¬A → A))                     L.S.1
7. (¬A → A) → A                                  Lemma 3 (5,6)
8. ¬¬A → (¬A → A)                                Lemma 2
9. ¬¬A → A                                       Lemma 1 (8,7)

Lemma 5: (A → B) → (¬¬A → B) (43 steps)

1. (A → B) → (¬¬A → (A → B))                     L.S.1
2. (¬¬A → (A → B)) → ((¬¬A → A) → (¬¬A → B))     L.S.2
3. (A → B) → ((¬¬A → A) → (¬¬A → B))             Lemma 1 (1,2)
4. ¬¬A → A                                       Lemma 4
5. (¬¬A → A) → ((A → B) → (¬¬A → A))             L.S.1
6. (A → B) → (¬¬A → A)                           M.P. (4,5)
7. (A → B) → (¬¬A → B)                           Lemma 3 (3,6)

Theorem: (A → B) → (¬B → ¬A)

1. (A → B) → (¬¬A → B)                           Lemma 5
2. ¬¬¬B → ¬B                                     Lemma 4
3. (¬¬¬B → ¬B) → (B → ¬¬B)                       L.S.3
4. B → ¬¬B                                       M.P. (2,3)
5. (B → ¬¬B) → (¬¬A → (B → ¬¬B))                 L.S.1
6. ¬¬A → (B → ¬¬B)                               M.P. (4,5)
7. (¬¬A → (B → ¬¬B)) → ((¬¬A → B) → (¬¬A → ¬¬B)) L.S.2
8. (¬¬A → B) → (¬¬A → ¬¬B)                       M.P. (6,7)
9. (A → B) → (¬¬A → ¬¬B)                         Lemma 1 (1,8)
10.(¬¬A → ¬¬B) → (¬B → ¬A)                       L.S.3
11.(A → B) → (¬B → ¬A)                           Lemma 1 (9,10)

Добро пожаловать на сайт и впечатляющий ответ! Вы проверили свой ответ с помощью скрипта Prolog? Если да, не могли бы вы добавить ссылку на указанное подтверждение?
Caird Coneheringaahing

@cairdcoinheringaahing Я добавил ссылку tio на скрипт пролога в ответ, чтобы его можно было проверить (он работает). Обычно я комментирую ссылку, но ссылка слишком длинная, чтобы уместиться в комментарии.
Пшеничный волшебник

Это в основном доказательство, которое я находился в процессе создания, за исключением того, что вы использовали разные леммы. Я использовал принцип идентичности. Кроме того, я еще не доказал устранение двойного отрицания, потому что доказательство того, что я создавал, требовало реализации противоречий.
mbomb007

1
Сможете ли вы вырезать лемму 5 и вместо этого доказать и использовать теорему замещения, чтобы перейти (¬¬A → ¬¬B) → (¬B → ¬A)к (A → B) → (¬B → ¬A)меньшему количеству шагов?
mbomb007

Я думаю, что самый первый шаг является излишним? Я не мог найти ничего, ссылающегося на него, поэтому я попытался запустить его на TIO без этой строки и не получил никаких предупреждений «Недопустимый шаг».
Антоний

14

59 шагов

Норман Мегилл, автор Metamath, рассказал мне о 59-ступенчатом доказательстве, которое я собираюсь опубликовать здесь, в этой вики сообщества. Оригинал можно найти в теореме 2.16 на этой странице.

http://us.metamath.org/mmsolitaire/pmproofs.txt

Норм говорит: эта страница предоставит вам множество испытаний!

Вот доказательство

((P -> Q) -> (~ Q -> ~ P)); ! *2.16
((P -> Q) -> (~ Q -> ~ P)); ! Result of proof
DD2D1DD2D13DD2D1DD22D2DD2D13DD2D1311D2D1D3DD2DD2D13DD2D1311
; ! 59 steps

Доказательство дано в польской записи, поэтому оно начинается с заключения и продолжается в обратном направлении, пока каждый член не будет удовлетворен аксиомой. Отображение символов выглядит следующим образом: «1» - это аксиома LS 1, «2» - это аксиома LS 2, «3» - это аксиома LS 3, а «D» - это Modus Ponens.

Вот доказательство в предложенном формате @ WW

01 ax-1          $a |- ( ¬ ¬ ¬ B → ( ¬ B → ¬ ¬ ¬ B ) )
02 ax-1          $a |- ( ¬ ¬ ¬ B → ( ¬ ¬ ( ¬ B → ¬ ¬ ¬ B ) → ¬ ¬ ¬ B ) )
03 ax-3          $a |- ( ( ¬ ¬ ( ¬ B → ¬ ¬ ¬ B ) → ¬ ¬ ¬ B ) → ( ¬ ¬ B → ¬ ( ¬ B → ¬ ¬ ¬ B ) ) )
04 ax-1          $a |- ( ( ( ¬ ¬ ( ¬ B → ¬ ¬ ¬ B ) → ¬ ¬ ¬ B ) → ( ¬ ¬ B → ¬ ( ¬ B → ¬ ¬ ¬ B ) ) ) → ( ¬ ¬ ¬ B → ( ( ¬ ¬ ( ¬ B → ¬ ¬ ¬ B ) → ¬ ¬ ¬ B ) → ( ¬ ¬ B → ¬ ( ¬ B → ¬ ¬ ¬ B ) ) ) ) )
05 3,4 ax-mp     $a |- ( ¬ ¬ ¬ B → ( ( ¬ ¬ ( ¬ B → ¬ ¬ ¬ B ) → ¬ ¬ ¬ B ) → ( ¬ ¬ B → ¬ ( ¬ B → ¬ ¬ ¬ B ) ) ) )
06 ax-2          $a |- ( ( ¬ ¬ ¬ B → ( ( ¬ ¬ ( ¬ B → ¬ ¬ ¬ B ) → ¬ ¬ ¬ B ) → ( ¬ ¬ B → ¬ ( ¬ B → ¬ ¬ ¬ B ) ) ) ) → ( ( ¬ ¬ ¬ B → ( ¬ ¬ ( ¬ B → ¬ ¬ ¬ B ) → ¬ ¬ ¬ B ) ) → ( ¬ ¬ ¬ B → ( ¬ ¬ B → ¬ ( ¬ B → ¬ ¬ ¬ B ) ) ) ) )
07 5,6 ax-mp     $a |- ( ( ¬ ¬ ¬ B → ( ¬ ¬ ( ¬ B → ¬ ¬ ¬ B ) → ¬ ¬ ¬ B ) ) → ( ¬ ¬ ¬ B → ( ¬ ¬ B → ¬ ( ¬ B → ¬ ¬ ¬ B ) ) ) )
08 2,7 ax-mp     $a |- ( ¬ ¬ ¬ B → ( ¬ ¬ B → ¬ ( ¬ B → ¬ ¬ ¬ B ) ) )
09 ax-3          $a |- ( ( ¬ ¬ B → ¬ ( ¬ B → ¬ ¬ ¬ B ) ) → ( ( ¬ B → ¬ ¬ ¬ B ) → ¬ B ) )
10 ax-1          $a |- ( ( ( ¬ ¬ B → ¬ ( ¬ B → ¬ ¬ ¬ B ) ) → ( ( ¬ B → ¬ ¬ ¬ B ) → ¬ B ) ) → ( ¬ ¬ ¬ B → ( ( ¬ ¬ B → ¬ ( ¬ B → ¬ ¬ ¬ B ) ) → ( ( ¬ B → ¬ ¬ ¬ B ) → ¬ B ) ) ) )
11 9,10 ax-mp    $a |- ( ¬ ¬ ¬ B → ( ( ¬ ¬ B → ¬ ( ¬ B → ¬ ¬ ¬ B ) ) → ( ( ¬ B → ¬ ¬ ¬ B ) → ¬ B ) ) )
12 ax-2          $a |- ( ( ¬ ¬ ¬ B → ( ( ¬ ¬ B → ¬ ( ¬ B → ¬ ¬ ¬ B ) ) → ( ( ¬ B → ¬ ¬ ¬ B ) → ¬ B ) ) ) → ( ( ¬ ¬ ¬ B → ( ¬ ¬ B → ¬ ( ¬ B → ¬ ¬ ¬ B ) ) ) → ( ¬ ¬ ¬ B → ( ( ¬ B → ¬ ¬ ¬ B ) → ¬ B ) ) ) )
13 11,12 ax-mp   $a |- ( ( ¬ ¬ ¬ B → ( ¬ ¬ B → ¬ ( ¬ B → ¬ ¬ ¬ B ) ) ) → ( ¬ ¬ ¬ B → ( ( ¬ B → ¬ ¬ ¬ B ) → ¬ B ) ) )
14 8,13 ax-mp    $a |- ( ¬ ¬ ¬ B → ( ( ¬ B → ¬ ¬ ¬ B ) → ¬ B ) )
15 ax-2          $a |- ( ( ¬ ¬ ¬ B → ( ( ¬ B → ¬ ¬ ¬ B ) → ¬ B ) ) → ( ( ¬ ¬ ¬ B → ( ¬ B → ¬ ¬ ¬ B ) ) → ( ¬ ¬ ¬ B → ¬ B ) ) )
16 14,15 ax-mp   $a |- ( ( ¬ ¬ ¬ B → ( ¬ B → ¬ ¬ ¬ B ) ) → ( ¬ ¬ ¬ B → ¬ B ) )
17 1,16 ax-mp    $a |- ( ¬ ¬ ¬ B → ¬ B )
18 ax-3          $a |- ( ( ¬ ¬ ¬ B → ¬ B ) → ( B → ¬ ¬ B ) )
19 17,18 ax-mp   $a |- ( B → ¬ ¬ B )
20 ax-1          $a |- ( ( B → ¬ ¬ B ) → ( A → ( B → ¬ ¬ B ) ) )
21 19,20 ax-mp   $a |- ( A → ( B → ¬ ¬ B ) )
22 ax-2          $a |- ( ( A → ( B → ¬ ¬ B ) ) → ( ( A → B ) → ( A → ¬ ¬ B ) ) )
23 21,22 ax-mp   $a |- ( ( A → B ) → ( A → ¬ ¬ B ) )
24 ax-1          $a |- ( ( A → ¬ ¬ B ) → ( ¬ ¬ A → ( A → ¬ ¬ B ) ) )
25 ax-1          $a |- ( ¬ ¬ A → ( ¬ ¬ ( A → ¬ ¬ B ) → ¬ ¬ A ) )
26 ax-3          $a |- ( ( ¬ ¬ ( A → ¬ ¬ B ) → ¬ ¬ A ) → ( ¬ A → ¬ ( A → ¬ ¬ B ) ) )
27 ax-1          $a |- ( ( ( ¬ ¬ ( A → ¬ ¬ B ) → ¬ ¬ A ) → ( ¬ A → ¬ ( A → ¬ ¬ B ) ) ) → ( ¬ ¬ A → ( ( ¬ ¬ ( A → ¬ ¬ B ) → ¬ ¬ A ) → ( ¬ A → ¬ ( A → ¬ ¬ B ) ) ) ) )
28 26,27 ax-mp   $a |- ( ¬ ¬ A → ( ( ¬ ¬ ( A → ¬ ¬ B ) → ¬ ¬ A ) → ( ¬ A → ¬ ( A → ¬ ¬ B ) ) ) )
29 ax-2          $a |- ( ( ¬ ¬ A → ( ( ¬ ¬ ( A → ¬ ¬ B ) → ¬ ¬ A ) → ( ¬ A → ¬ ( A → ¬ ¬ B ) ) ) ) → ( ( ¬ ¬ A → ( ¬ ¬ ( A → ¬ ¬ B ) → ¬ ¬ A ) ) → ( ¬ ¬ A → ( ¬ A → ¬ ( A → ¬ ¬ B ) ) ) ) )
30 28,29 ax-mp   $a |- ( ( ¬ ¬ A → ( ¬ ¬ ( A → ¬ ¬ B ) → ¬ ¬ A ) ) → ( ¬ ¬ A → ( ¬ A → ¬ ( A → ¬ ¬ B ) ) ) )
31 25,30 ax-mp   $a |- ( ¬ ¬ A → ( ¬ A → ¬ ( A → ¬ ¬ B ) ) )
32 ax-3          $a |- ( ( ¬ A → ¬ ( A → ¬ ¬ B ) ) → ( ( A → ¬ ¬ B ) → A ) )
33 ax-1          $a |- ( ( ( ¬ A → ¬ ( A → ¬ ¬ B ) ) → ( ( A → ¬ ¬ B ) → A ) ) → ( ¬ ¬ A → ( ( ¬ A → ¬ ( A → ¬ ¬ B ) ) → ( ( A → ¬ ¬ B ) → A ) ) ) )
34 32,33 ax-mp   $a |- ( ¬ ¬ A → ( ( ¬ A → ¬ ( A → ¬ ¬ B ) ) → ( ( A → ¬ ¬ B ) → A ) ) )
35 ax-2          $a |- ( ( ¬ ¬ A → ( ( ¬ A → ¬ ( A → ¬ ¬ B ) ) → ( ( A → ¬ ¬ B ) → A ) ) ) → ( ( ¬ ¬ A → ( ¬ A → ¬ ( A → ¬ ¬ B ) ) ) → ( ¬ ¬ A → ( ( A → ¬ ¬ B ) → A ) ) ) )
36 34,35 ax-mp   $a |- ( ( ¬ ¬ A → ( ¬ A → ¬ ( A → ¬ ¬ B ) ) ) → ( ¬ ¬ A → ( ( A → ¬ ¬ B ) → A ) ) )
37 31,36 ax-mp   $a |- ( ¬ ¬ A → ( ( A → ¬ ¬ B ) → A ) )
38 ax-2          $a |- ( ( ¬ ¬ A → ( ( A → ¬ ¬ B ) → A ) ) → ( ( ¬ ¬ A → ( A → ¬ ¬ B ) ) → ( ¬ ¬ A → A ) ) )
39 37,38 ax-mp   $a |- ( ( ¬ ¬ A → ( A → ¬ ¬ B ) ) → ( ¬ ¬ A → A ) )
40 ax-2          $a |- ( ( ¬ ¬ A → ( A → ¬ ¬ B ) ) → ( ( ¬ ¬ A → A ) → ( ¬ ¬ A → ¬ ¬ B ) ) )
41 ax-2          $a |- ( ( ( ¬ ¬ A → ( A → ¬ ¬ B ) ) → ( ( ¬ ¬ A → A ) → ( ¬ ¬ A → ¬ ¬ B ) ) ) → ( ( ( ¬ ¬ A → ( A → ¬ ¬ B ) ) → ( ¬ ¬ A → A ) ) → ( ( ¬ ¬ A → ( A → ¬ ¬ B ) ) → ( ¬ ¬ A → ¬ ¬ B ) ) ) )
42 40,41 ax-mp   $a |- ( ( ( ¬ ¬ A → ( A → ¬ ¬ B ) ) → ( ¬ ¬ A → A ) ) → ( ( ¬ ¬ A → ( A → ¬ ¬ B ) ) → ( ¬ ¬ A → ¬ ¬ B ) ) )
43 39,42 ax-mp   $a |- ( ( ¬ ¬ A → ( A → ¬ ¬ B ) ) → ( ¬ ¬ A → ¬ ¬ B ) )
44 ax-1          $a |- ( ( ( ¬ ¬ A → ( A → ¬ ¬ B ) ) → ( ¬ ¬ A → ¬ ¬ B ) ) → ( ( A → ¬ ¬ B ) → ( ( ¬ ¬ A → ( A → ¬ ¬ B ) ) → ( ¬ ¬ A → ¬ ¬ B ) ) ) )
45 43,44 ax-mp   $a |- ( ( A → ¬ ¬ B ) → ( ( ¬ ¬ A → ( A → ¬ ¬ B ) ) → ( ¬ ¬ A → ¬ ¬ B ) ) )
46 ax-2          $a |- ( ( ( A → ¬ ¬ B ) → ( ( ¬ ¬ A → ( A → ¬ ¬ B ) ) → ( ¬ ¬ A → ¬ ¬ B ) ) ) → ( ( ( A → ¬ ¬ B ) → ( ¬ ¬ A → ( A → ¬ ¬ B ) ) ) → ( ( A → ¬ ¬ B ) → ( ¬ ¬ A → ¬ ¬ B ) ) ) )
47 45,46 ax-mp   $a |- ( ( ( A → ¬ ¬ B ) → ( ¬ ¬ A → ( A → ¬ ¬ B ) ) ) → ( ( A → ¬ ¬ B ) → ( ¬ ¬ A → ¬ ¬ B ) ) )
48 24,47 ax-mp   $a |- ( ( A → ¬ ¬ B ) → ( ¬ ¬ A → ¬ ¬ B ) )
49 ax-3          $a |- ( ( ¬ ¬ A → ¬ ¬ B ) → ( ¬ B → ¬ A ) )
50 ax-1          $a |- ( ( ( ¬ ¬ A → ¬ ¬ B ) → ( ¬ B → ¬ A ) ) → ( ( A → ¬ ¬ B ) → ( ( ¬ ¬ A → ¬ ¬ B ) → ( ¬ B → ¬ A ) ) ) )
51 49,50 ax-mp   $a |- ( ( A → ¬ ¬ B ) → ( ( ¬ ¬ A → ¬ ¬ B ) → ( ¬ B → ¬ A ) ) )
52 ax-2          $a |- ( ( ( A → ¬ ¬ B ) → ( ( ¬ ¬ A → ¬ ¬ B ) → ( ¬ B → ¬ A ) ) ) → ( ( ( A → ¬ ¬ B ) → ( ¬ ¬ A → ¬ ¬ B ) ) → ( ( A → ¬ ¬ B ) → ( ¬ B → ¬ A ) ) ) )
53 51,52 ax-mp   $a |- ( ( ( A → ¬ ¬ B ) → ( ¬ ¬ A → ¬ ¬ B ) ) → ( ( A → ¬ ¬ B ) → ( ¬ B → ¬ A ) ) )
54 48,53 ax-mp   $a |- ( ( A → ¬ ¬ B ) → ( ¬ B → ¬ A ) )
55 ax-1          $a |- ( ( ( A → ¬ ¬ B ) → ( ¬ B → ¬ A ) ) → ( ( A → B ) → ( ( A → ¬ ¬ B ) → ( ¬ B → ¬ A ) ) ) )
56 54,55 ax-mp   $a |- ( ( A → B ) → ( ( A → ¬ ¬ B ) → ( ¬ B → ¬ A ) ) )
57 ax-2          $a |- ( ( ( A → B ) → ( ( A → ¬ ¬ B ) → ( ¬ B → ¬ A ) ) ) → ( ( ( A → B ) → ( A → ¬ ¬ B ) ) → ( ( A → B ) → ( ¬ B → ¬ A ) ) ) )
58 56,57 ax-mp   $a |- ( ( ( A → B ) → ( A → ¬ ¬ B ) ) → ( ( A → B ) → ( ¬ B → ¬ A ) ) )
59 23,58 ax-mp   $a |- ( ( A → B ) → ( ¬ B → ¬ A ) )

Попробуйте онлайн!

Вот оно, в Невероятной Машине Доказательства введите описание изображения здесь

PNG SVG


Я не помню, чтобы предлагать такой формат ... Для чего это стоит, соответствующее выражение sk есть s(k(s(k c)(s(k(s s(s(s(k c)(s(k c)k)))))k)))(s(k(c(s(s(k c)(s(k c)k))k)))). У меня нет способа преобразовать это обратно в лямбды
H.PWiz

@ H.PWiz Это \x -> c (\y -> c (\z -> c (c (\_ -> z)) (\_ -> z)) (x (c (c (\_ -> y)) (\z -> c (\t -> c (c (\_ -> t)) (\_ -> t)) (x z))))). (Вероятно, не то, что вы написали бы, если бы подходили к этому с этой стороны.)
Андерс Касеорг

@AndersKaseorg Да, я только что нашел это и извлек полезные теоремы: здесь
H.PWiz

@ H.PWiz, извините, нет, вы не предлагали этот формат. Я имел в виду, что (без поля) он совместим с вашим верификатором Пролога.
Энтони

1
Я извиняюсь за то, что принял вас за OP, @ H.PWiz Я боюсь, что ваше имя пользователя выглядело как одно в последовательности многих имен WW i.imgur.com/VoSVoqI.png
Энтони
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.