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


38

Bueno, creo que ya es hora de que tengamos otra pregunta de .

Esta vez vamos a demostrar la conocida verdad lógica

(UNAsi)(¬si¬UNA)

Para hacer esto, utilizaremos el tercer Esquema de Axioma de Łukasiewicz , un conjunto increíblemente elegante de tres axiomas que se completan sobre la lógica proposicional .

Así es como funciona:

Axiomas

El sistema Łukasiewicz tiene tres axiomas. Son:

ϕ(ψϕ)

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

(¬ϕ¬ψ)(ψϕ)

Los axiomas son verdades universales independientemente de lo que elijamos para ϕ , ψ y χ . En cualquier punto de la prueba podemos introducir uno de estos axiomas. Cuando presentamos un axioma, reemplaza cada caso de ϕ , ψ y χ , con una "expresión compleja". Una expresión compleja es cualquier expresión hecha de átomos, (representada por las letras UNA - Z ), y los operadores implican ( ) y no ( ¬ ).

Por ejemplo, si quisiera presentar el primer axioma (LS1), podría presentar

UNA(siUNA)

o

(UNAUNA)(¬re(UNAUNA))

En el primer caso, ϕ era UNA y ψ era si , mientras que en el segundo caso, ambas eran expresiones más complicadas. ϕ era (UNAUNA) y ψ era ¬re .

Las sustituciones que elija utilizar dependerán de lo que necesite en la prueba en este momento.

Modus ponens

Ahora que podemos introducir declaraciones, necesitamos relacionarlas para hacer nuevas declaraciones. La forma en que esto se hace en el Axiom Schema (LS) de Łukasiewicz es con Modus Ponens. Modus Ponens nos permite tomar dos declaraciones de la forma

ϕ

ϕψ

e instanciar una nueva declaración

ψ

Al igual que con nuestros Axiomas, ϕ y ψ pueden reemplazar cualquier declaración arbitraria.

Las dos declaraciones pueden estar en cualquier parte de la prueba, no tienen que estar una al lado de la otra ni en ningún orden especial.

Tarea

Su tarea será probar la ley de los contrapositivos . Esta es la declaración

(UNAsi)(¬si¬UNA)

Ahora puede notar que esto es bastante familiar, es una instanciación del reverso de nuestro tercer axioma

(¬ϕ¬ψ)(ψϕ)

Sin embargo, esto no es una hazaña trivial.

Tanteo

La puntuación para este desafío es bastante simple, cada vez que crea una instancia de un axioma cuenta como un punto y cada uso de modus ponens cuenta como un punto. Este es esencialmente el número de líneas en su prueba. El objetivo debe ser minimizar su puntaje (hacerlo lo más bajo posible).

Prueba de ejemplo

Ok, ahora usemos esto para construir una pequeña prueba. Vamos a probar UNAUNA .

A veces es mejor trabajar hacia atrás, ya que sabemos dónde queremos estar, podemos imaginar cómo podríamos llegar allí. En este caso ya que queremos terminar conUNAUNA y este no es uno de nuestros axiomas, sabemos que el último paso debe ser modus ponens. Por lo tanto, el final de nuestra prueba se verá como

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

Texas

Donde ϕ es una expresión de la que aún no conocemos el valor. Ahora nos centraremos en ϕ(UNAUNA) . Esto puede ser introducido por modus ponens o LS3. LS3 requiere que demostremos (¬UNA¬UNA) que parece tan difícil como (UNAUNA) , así que iremos con modus ponens. Así que ahora nuestra prueba se ve así

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

Texas

Ahora ψ(ϕ(UNAUNA)) parece mucho a nuestro segundo axioma LS2, así que lo completaremos como LS2

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

Texas

Ahora nuestra segunda declaración (UNA(χUNA)) se puede construir con bastante claridad a partir de LS1, por lo que lo completaremos como tal

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

Texas

Ahora solo necesitamos encontrar un χ tal que podamos probar UNAχ . Esto se puede hacer muy fácilmente con LS1, así que lo intentaremos

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.

Texas

Ahora, dado que todos nuestros pasos están justificados, podemos completar ω , como cualquier declaración que queramos y la prueba será válida. Podríamos elegir UNA pero elegiremos si de manera que es evidente que no tiene por qué ser UNA .

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.

Texas

Pruébalo en línea!

Y eso es una prueba.

Recursos

Programa de verificación

Aquí hay un programa Prolog que puede usar para verificar que su prueba sea válida. Cada paso debe colocarse en su propia línea.->debe usarse para implica y -debe usarse para no, los átomos pueden ser representados por cualquier cadena de caracteres alfabéticos.

Metamatica

Metamath utiliza el sistema Łukasiewicz para sus pruebas en cálculo proposicional, por lo que es posible que desee hurgar un poco allí. También tienen una prueba del teorema que este desafío pide y que se puede encontrar aquí . Hay una explicación aquí de cómo leer las pruebas.

La increíble máquina de prueba

@ Antony me hizo conocer una herramienta llamada The Incredible Proof machine que le permite construir pruebas en varios sistemas utilizando un buen sistema de pruebas gráficas. Si se desplaza hacia abajo, encontrará que son compatibles con el sistema Łukasiewicz. Entonces, si eres una persona más orientada a lo visual, puedes trabajar en tu prueba allí. Su puntaje será el número de bloques utilizados menos 1.


8
Espera, déjame ir a buscar mi cuaderno de Discrete Math ...
mbomb007

55
@ DigitalTrauma Soy estudiante de pregrado ahora y esta era una tarea que tenía (menos la parte de golf), así que es muy posible que la hayas estudiado. Te animo a que lo pruebes incluso si te falta "experiencia", creo que este desafío es accesible incluso para las personas que tienen experiencia principalmente en programación.
Wheat Wizard

1
@ mbomb007 No puede usar el Teorema de deducción, y dado que el sistema Łukasiewicz está completo, no necesita usarlo.
Wheat Wizard

1
Bueno, al menos no limitar los axiomas de un solo esquema universal:((P → Q) → R) → ((R → P) → (S → P))
mbomb007

2
La máquina de prueba increíble es todo arrastrar y soltar y es compatible con Łukasiewicz. Desplácese casi hasta el final y busque "Sistema Hilbert". Por ejemplo, aquí está la prueba @ user56656 dio que A → A
Antony

Respuestas:


25

88 82 77 72 escalones

¡Gracias a H.PWiz por mejores conversiones de combinador que ahorraron 10 pasos!

Explicación

Es posible que esté familiarizado con la correspondencia de Curry-Howard , en la que los teoremas corresponden a tipos y las pruebas corresponden a programas de esos tipos. Los primeros dos axiomas en el sistema Łukasiewicz son en realidad los combinadores K y S , y es bien sabido que podemos traducir las expresiones de cálculo lambda en las expresiones combinatorias SK.

Así que anotemos algunas expresiones correspondientes a nuestros axiomas (la siguiente es una sintaxis válida de Haskell, lo cual es conveniente porque literalmente podemos verificar nuestras pruebas usando el 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"

Entonces podemos escribir una prueba de la declaración deseada como un programa en términos de c(esta parte requiere un poco de inteligencia, pero es mucho más fácil escribir esto que una prueba axiomática de 72 líneas):

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

y convertirlo en una expresión combinatoria 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)))

Los 17 k, 16 sy 4c combinadores anteriores corresponden a las 16 invocaciones LS1, 16 LS2 y 4 LS3 en la prueba a continuación, y las 38 aplicaciones de una función a un valor anterior corresponden a las 38 invocaciones MP a continuación.

¿Por qué solo 16 invocaciones LS1? Resulta uno de losk combinadores anteriores tiene una variable de tipo libre, y al instanciarlo cuidadosamente lo convierte en un duplicado de otro que ya se ha derivado.

La prueba

  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. ¬¬A → ((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) MP 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) → (¬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

Pruébalo en línea!


1
Wow esto es increíble.
Zacharý

2
No puedo decir si es más corto en pasos, y tengo que ir ahora mismo. Pero obtuve una 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 es similar a la tuya pero con un final ligeramente más corto
H.PWiz

@ H.PWiz Neat, que en realidad corresponde a un programa de prueba ligeramente diferente. Actualizado.
Anders Kaseorg

1
¿Qué 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)))?
H.PWiz

@ H.PWiz Eso es bueno para otro −5 junto con el truco de la variable de tipo libre.
Anders Kaseorg

24

91 pasos

Prueba 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

Pruébalo en línea!

Una versión más legible para los humanos con 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)

¡Bienvenido al sitio y respuesta impresionante! ¿Has verificado tu respuesta con el script de Prolog? Si es así, ¿le importaría incluir un enlace a dicha verificación?
caird coinheringaahing

@cairdcoinheringaahing He agregado un enlace tio al script de prólogo a la respuesta para que pueda verificarse (funciona). Por lo general, comentaría el enlace, pero el enlace es demasiado largo para caber en un comentario.
Wheat Wizard

Esa es básicamente la prueba que estaba haciendo, excepto que usaste diferentes lemas. Usé el principio de identidad. Además, todavía no había probado la Eliminación de doble negación, porque la prueba de que estaba creando requería Realización de contradicción.
mbomb007

1
¿Sería capaz de cortar el Lema 5 y en lugar de probar y usar el teorema de sustitución para llegar desde (¬¬A → ¬¬B) → (¬B → ¬A)que (A → B) → (¬B → ¬A)en menos pasos?
mbomb007

¿Creo que el primer paso es redundante? No pude encontrar nada que lo hiciera referencia, así que intenté ejecutarlo en TIO sin esa línea y no recibí ninguna advertencia de "Paso inválido".
Antony

14

59 pasos

Norman Megill, autor de Metamath , me contó sobre una prueba de 59 pasos, que voy a publicar aquí en esta wiki comunitaria. El original se puede encontrar en el teorema 2.16 de esta página.

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

La norma dice: ¡Esta página te proporcionará muchos desafíos para vencer!

Aquí está la prueba

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

La prueba está en notación polaca, por lo que comienza desde la conclusión y continúa hacia atrás hasta que cada término haya sido satisfecho por un axioma. El mapeo de caracteres es el siguiente: "1" es el axioma 1 de LS, "2" es el axioma 2 de LS, "3" es el axioma 3 de LS y "D" es Modus Ponens.

Aquí está la prueba en el formato sugerido de @ 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 ) )

Pruébalo en línea!

Aquí está en The Incredible Proof Machine ingrese la descripción de la imagen aquí

png svg


No recuerdo haber sugerido ese formato ... Por lo que vale, la expresión sk correspondiente es 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)))). Sin embargo
H.PWiz

@ H.PWiz Es \x -> c (\y -> c (\z -> c (c (\_ -> z)) (\_ -> z)) (x (c (c (\_ -> y)) (\z -> c (\t -> c (c (\_ -> t)) (\_ -> t)) (x z))))) . (Probablemente no sea lo que escribiría si se acercara desde esa dirección.)
Anders Kaseorg

@AndersKaseorg Sí, acabo de encontrar eso y extraje los teoremas útiles:
extraje los

@ H.PWiz, lo siento, no, no sugirió ese formato. Quise decir que (despojado del margen) es compatible con su verificador Prolog.
Antony

1
Lamento haberlo confundido con OP, @ H.PWiz Me temo que su nombre de usuario se parecía a uno en la sucesión de muchos nombres de WW i.imgur.com/VoSVoqI.png
Antony
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.