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


38

Bem, acho que já é hora de termos outra questão de .

Desta vez, vamos provar a conhecida verdade lógica

(AB)(¬B¬A)

Para fazer isso, usaremos o terceiro Axiom Schema de Łukasiewicz , um conjunto incrivelmente elegante de três axiomas que são completos sobre a lógica proposicional .

Aqui está como funciona:

Axiomas

O sistema Łukasiewicz possui três axiomas. Eles são:

ϕ(ψϕ)

(ϕ(ψχ))((ϕψ)(ϕχ))

(¬ϕ¬ψ)(ψϕ)

Os axiomas são verdades universais, independentemente do que escolhemos para ϕ , ψ e χ . Em qualquer ponto da prova, podemos introduzir um desses axiomas. Quando introduzimos um axioma, você substitui cada caso de ϕ , ψ e χ por uma "expressão complexa". Uma expressão complexa é qualquer expressão feita de Átomos (representada pelas letras UMA - Z ), e os operadores implicam ( ) e não ( ¬ ).

Por exemplo, se eu quisesse introduzir o primeiro axioma (LS1), poderia introduzir

UMA(BUMA)

ou

(UMAUMA)(¬D(UMAUMA))

No primeiro caso, ϕ era UMA e ψ era B , enquanto no segundo caso, ambos eram expressões mais envolvidas. ϕ era (UMAUMA) e ψ foi ¬D .

Quais substituições você escolhe usar dependerão do que você precisa na prova no momento.

Modus ponens

Agora que podemos introduzir declarações, precisamos relacioná-las para fazer novas declarações. A maneira como isso é feito no esquema Axiom (LS) de Łukasiewicz é com o Modus Ponens. O Modus Ponens nos permite tomar duas declarações do formulário

ϕ

ϕψ

e instanciar uma nova declaração

ψ

Assim como nossos axiomas ϕ e ψ pode substituir qualquer declaração arbitrária.

As duas declarações podem estar em qualquer lugar da prova, elas não precisam estar próximas uma da outra ou de qualquer ordem especial.

Tarefa

Sua tarefa será provar a lei dos contrapositivos . Esta é a afirmação

(UMAB)(¬B¬UMA)

Agora você pode notar que isso é bastante familiar, é uma instanciação do reverso do nosso terceiro axioma

(¬ϕ¬ψ)(ψϕ)

No entanto, este não é um feito trivial.

Pontuação

A pontuação para esse desafio é bem simples, cada vez que você instancia um axioma conta como um ponto e cada uso do modus ponens conta como um ponto. Este é essencialmente o número de linhas em sua prova. O objetivo deve ser minimizar sua pontuação (diminua o máximo possível).

Prova de exemplo

Ok, agora vamos usar isso para construir uma pequena prova. Vamos provar UMAUMA .

Às vezes, é melhor trabalhar para trás, já que sabemos onde queremos estar e podemos descobrir como podemos chegar lá. Nesse caso, como queremos terminar com UMAUMA e esse não é um dos nossos axiomas, sabemos que o último passo deve ser o modus ponens. Assim, o final de nossa prova parecerá

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

TeX

Onde ϕ é uma expressão da qual ainda não sabemos o valor. Agora vamos nos concentrar em ϕ(UMAUMA) . Isso pode ser introduzido pelo modus ponens ou pelo LS3. O LS3 exige que provemos (¬UMA¬UMA) que parece tão difícil quanto (UMAUMA) ; portanto, vamos usar o modus ponens. Então agora nossa prova parece

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

TeX

Agora ψ(ϕ(UMAUMA)) parece muito com o nosso segundo axioma LS2, então vamos preenchê-lo como LS2

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

TeX

Agora, a nossa segunda declaração (UMA(χUMA)) pode ser claramente construída a partir do LS1, então vamos preenchê-lo dessa maneira

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

TeX

Agora só precisamos encontrar um χ que possamos provar UMAχ . Isso pode ser feito muito facilmente com o LS1, então tentaremos isso

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

Agora, já que todos os nossos passos são justificados, podemos preencher ω , como qualquer afirmação que desejamos e a prova será válida. Poderíamos escolher UMA , mas vou escolher B de modo que é claro que ele não precisa ser UMA .

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

Experimente online!

E isso é uma prova.

Recursos

Programa de verificação

Aqui está um programa Prolog que você pode usar para verificar se sua prova é de fato válida. Cada etapa deve ser colocada em sua própria linha. ->deve ser usado para implica e -deve ser usado para não, os átomos podem ser representados por qualquer sequência de caracteres alfabéticos.

Metamath

Metamath usa o sistema Łukasiewicz para suas provas no cálculo proposicional, então você pode querer dar uma espiada por lá um pouco. Eles também têm uma prova do teorema que esse desafio pede e que pode ser encontrado aqui . Há uma explicação aqui de como ler as provas.

A máquina de prova incrível

@ Antony me informou de uma ferramenta chamada The Incredible Proof machine, que permite construir provas em vários sistemas usando um bom sistema gráfico de provas. Se você rolar para baixo, verá que eles suportam o sistema Łukasiewicz. Portanto, se você é uma pessoa mais orientada visualmente, pode trabalhar sua prova lá. Sua pontuação será o número de blocos usados ​​menos 1.


8
Espere, deixe-me ir buscar o meu notebook Matemática discreta ...
mbomb007

5
@DigitalTrauma Agora sou estudante de graduação e essa foi uma tarefa de casa que eu tinha (menos a parte do golfe), então é muito possível que você a tenha estudado. Encorajo-vos a experimentá-lo, mesmo se você não tiver "experiência", acho que esse desafio é acessível, mesmo para pessoas com formação em programação.
Assistente de trigo

1
@ mbomb007 Não é possível usar o Teorema da Dedução e, como o sistema Łukasiewicz está completo, você não precisa usá-lo.
Assistente de trigo 04/04

1
Bem, pelo menos você não limitar os axiomas para um único esquema, universal:((P → Q) → R) → ((R → P) → (S → P))
mbomb007

2
O Incredible Proof Machine é um recurso de arrastar e soltar e suporta o Łukasiewicz. Role quase até o final e procure por "sistema Hilbert". Por exemplo, aqui está a prova que @ user56656 deu que A → A
Antony

Respostas:


25

88 82 77 72 etapas

Agradecemos ao H.PWiz pelas melhores conversões combinadoras que economizaram 10 etapas!

Explicação

Você pode estar familiarizado com a correspondência de Curry-Howard , na qual teoremas correspondem a tipos e provas correspondem a programas desses tipos. Os dois primeiros axiomas do sistema Łukasiewicz são na verdade os combinadores K e S , e é sabido que podemos traduzir expressões de cálculo lambda em expressões combinatórias SK.

Então, vamos escrever algumas expressões correspondentes aos nossos axiomas (a seguir é uma sintaxe válida de Haskell, o que é conveniente porque podemos literalmente verificar nossas provas usando o compilador Haskell):

data Not φ

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

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

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

Em seguida, podemos escrever uma prova da declaração desejada como um programa em termos de c(esta parte exige um pouco de inteligência, mas é muito mais fácil escrever isso do que uma prova axiomática de 72 linhas):

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

e converta-o em uma expressão combinatória 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)))

Os combinadores 17 k, 16 se 4 cacima correspondem às invocações de 16 LS1, 16 LS2 e 4 LS3 na prova abaixo, e as 38 aplicações de uma função para um valor acima correspondem às invocações de 38 MP abaixo.

Por que apenas 16 invocações de LS1? Acontece que um dos kcombinadores acima tem uma variável de tipo livre e, instanciando-a cuidadosamente, a transforma em uma duplicata de outra que já foi derivada.

A prova

  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 → ((¬¬ (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. 13,8A → ((A → B) → A) MP 13,8
  15. (¬¬A → ((A → B) → A)) → ((¬¬A → (A → B)) → (¬¬A → A)) LS2
  16. (¬¬A → (A → B)) → (¬¬A → A) MP 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) PM 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)) MP 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) → (¬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 → B) → ¬¬A))))) LS1
  35. ¬B → ((¬¬ (¬¬A → (¬¬ (A → B) → ¬¬A)) → ¬B) → (B → ¬ (¬¬A → (¬¬ (A → B) → ¬ ¬A)))) MP 34,33
  36. (¬B → ((¬¬ (¬¬A → (¬¬ (A → B) → ¬¬A)) → ¬B) → (B → ¬ (¬¬A → (¬¬ (A → B) → ¬¬A))))) → ((¬B → (¬¬ (→A → (¬¬ (A → B) → ¬¬A)) → ¬B)) → (¬B → (B → ¬ (¬¬A → (¬¬ (A → B) → )A)))))) LS2
  37. (¬B → (¬¬ (→A → (¬¬ (A → B) → ¬¬A)) → ¬B)) → (¬B → (B → ¬ (¬¬A → (¬¬ (A → B) → ¬¬A)))) MP 36,35
  38. ¬B → (B → ¬ (¬¬A → (¬¬ (A → B) → ¬¬A))) MP 37,32
  39. (B → ¬ (¬¬A → (¬¬ (A → B) → ¬¬A))) → (¬¬A → (B → ¬ (¬¬A → (¬¬ (A → B) → ¬¬ A)))) 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))) → (¬¬A → (B → ¬ (¬¬A → (¬¬ (A → B ) → ¬¬A))))) MP 40,39
  42. (¬B → ((B → ¬ (¬¬A → (¬¬ (A → B) → ¬¬A))) → (¬¬A → (B → ¬ (¬¬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 → (¬¬A → (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 → ((¬¬A → (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 → 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)))) )) MP 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))))) MP 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) MP 71,57

Experimente online!


1
Uau isso é incrível.
Zacharý 14/07/2018

2
Não sei dizer se é mais curto em etapas e preciso ir agora. Mas eu tenho 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 que é semelhante ao seu, mas com um final ligeiramente mais curto
H.PWiz

@ H.PWiz Neat, que realmente corresponde a um programa de prova ligeiramente diferente. Atualizada.
Anders Kaseorg

1
Que tal 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)))?
21718 HPWiz

@ H.PWiz Isso é bom para outro -5 junto com o truque de variável de tipo livre.
Anders Kaseorg

24

91 Passos

Prova completa:

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

Experimente online!

Uma versão mais legível por humanos usando 5 lemas:

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)

Bem-vindo ao site e resposta impressionante! Você verificou sua resposta com o script Prolog? Nesse caso, você se importaria de incluir um link para a verificação?
caird coinheringaahing

@cairdcoinheringaahing Adicionei um link tio ao script de prólogo na resposta para que ele possa ser verificado (funciona). Normalmente, eu gostaria de comentar o link, mas o link é muito longo para caber em um comentário.
Assistente de trigo

Essa é basicamente a prova que eu estava fazendo, exceto que você usou diferentes lemas. Eu usei o Princípio da Identidade. Além disso, eu não havia provado a eliminação da dupla negação ainda, porque a prova disso estava criando a realização da contradição necessária.
mbomb007

1
Você seria capaz de cortar o Lema 5 e, em vez provar e usar a Substituição Teorema de obter a partir (¬¬A → ¬¬B) → (¬B → ¬A)de (A → B) → (¬B → ¬A)em menos etapas?
mbomb007

Eu acho que o primeiro passo é redundante? Não encontrei nada relacionado a isso, tentei executá-lo no TIO sem essa linha e não recebi nenhum aviso de "Etapa inválida".
Antony

14

59 passos

Norman Megill, autor de Metamath, me contou sobre uma prova de 59 etapas, que vou postar aqui neste wiki da comunidade. O original pode ser encontrado no teorema 2.16 nesta página.

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

A norma diz: Esta página forneceria muitos desafios para você vencer!

Aqui está a prova

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

A prova está na notação polonesa, portanto parte da conclusão e continua para trás até que todos os termos sejam satisfeitos por um axioma. O mapeamento de caracteres é o seguinte: "1" é axioma LS 1, "2" é axioma LS 2, "3" é axioma LS 3 e "D" é Modus Ponens.

Aqui está a prova no formato sugerido da @ 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 ) )

Experimente online!

Aqui está na máquina de provas incríveis insira a descrição da imagem aqui

png svg


Não me lembro de sugerir esse formato ... Pelo que vale a pena, a expressão sk correspondente é 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)))). Eu não tenho uma maneira de converter que volta para lambdas embora
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))))). (Provavelmente não o que você escreveria se estivesse aproximando-se daquela direção.)
Anders Kaseorg

@AndersKaseorg Sim, eu só descobri isso e extraído os teoremas úteis: aqui
H.PWiz

@ H.PWiz, desculpe, não, você não sugeriu esse formato. Eu quis dizer que (sem a margem) é compatível com o seu verificador Prolog.
Antony

1
Sinto muito por confundi-lo com OP, @ H.PWiz Receio que seu nome de usuário parecesse um na sucessão de muitos nomes da WW i.imgur.com/VoSVoqI.png
Antony
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.