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


38

Beh, penso che sia giunto il momento di fare un'altra domanda sul .

Questa volta proveremo la ben nota verità logica

(UNB)(¬B¬UN)

Per fare questo useremo il terzo Axiom Schema di Łukasiewicz , un insieme incredibilmente elegante di tre assiomi che sono completi sulla logica proposizionale .

Ecco come funziona:

assiomi

Il sistema Łukasiewicz ha tre assiomi. Loro sono:

φ(ψφ)

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

(¬φ¬ψ)(ψφ)

Gli assiomi sono verità universali indipendentemente da ciò che scegliamo per φ , ψ e χ . In qualsiasi momento della dimostrazione possiamo introdurre uno di questi assiomi. Quando introduciamo un assioma, sostituisci ogni caso di φ , ψ e χ con una "espressione complessa". Un'espressione complessa è qualsiasi espressione creata dagli Atomi, (rappresentata dalle lettere UN - Z ), e gli operatori implicano ( ) e non ( ¬ ).

Ad esempio, se volessi introdurre il primo assioma (LS1), potrei presentarlo

UN(BUN)

o

(UNUN)(¬D(UNUN))

Nel primo caso φ era UN e ψ era B , mentre nel secondo caso entrambe erano espressioni più coinvolte. φ era (UNUN) e ψ era ¬D .

Le sostituzioni che scegli di utilizzare dipenderanno da ciò di cui hai bisogno nella prova al momento.

Modus Ponens

Ora che possiamo introdurre dichiarazioni, dobbiamo collegarle insieme per fare nuove dichiarazioni. Il modo in cui ciò avviene in Axiom Schema (LS) di Łukasiewicz è con Modus Ponens. Modus Ponens ci consente di prendere due dichiarazioni del modulo

φ

φψ

e istanziare una nuova affermazione

ψ

Proprio come con i nostri assiomi φ e ψ può sostituire qualsiasi dichiarazione arbitraria.

Le due affermazioni possono essere ovunque nella prova, non devono essere una accanto all'altra o nessun ordine speciale.

Compito

Il tuo compito sarà quello di dimostrare la legge dei contrapposti . Questa è la dichiarazione

(UNB)(¬B¬UN)

Ora potresti notare che questo è piuttosto familiare, è un'istanza del retro del nostro terzo assioma

(¬φ¬ψ)(ψφ)

Tuttavia questa non è un'impresa banale.

punteggio

Il punteggio per questa sfida è piuttosto semplice, ogni volta che si crea un'istanza un assioma conta come un punto e ogni uso di modus ponens conta come un punto. Questo è essenzialmente il numero di righe nella prova. L'obiettivo dovrebbe essere quello di ridurre al minimo il tuo punteggio (renderlo il più basso possibile).

Esempio di prova

Ok ora consente di utilizzare questo per costruire una piccola prova. Noi dimostrare UNUN .

A volte è meglio lavorare all'indietro poiché sappiamo dove vogliamo essere, possiamo capire come poterci arrivare. In questo caso poiché vogliamo concludere con UNUN e questo non è uno dei nostri assiomi, sappiamo che l'ultimo passo deve essere il modus ponens. Così apparirà la fine della nostra prova

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

TeX

Dove φ è un'espressione di cui non conosciamo ancora il valore. Ora ci concentreremo su φ(UNUN) . Questo può essere introdotto da Modus Ponens o LS3. LS3 ci richiede di dimostrare (¬UN¬UN) che sembra difficile quanto (UNUN) , quindi andremo con modus ponens. Quindi ora la nostra prova sembra

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

TeX

Ora ψ(φ(UNUN)) assomiglia molto al nostro secondo assioma LS2, quindi lo riempiremo come LS2

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

TeX

Ora la nostra seconda affermazione (UN(χUN)) può essere chiaramente costruita da LS1, quindi la riempiremo come tale

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

TeX

Ora abbiamo solo bisogno di trovare un χ tale che possiamo dimostrare UNχ . Questo può essere fatto facilmente con LS1, quindi lo proveremo

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

Ora, poiché tutti i nostri passi sono giustificati, possiamo compilare ω , poiché qualsiasi affermazione che vogliamo e la prova sarà valida. Abbiamo potuto scegliere UN ma io sceglieremo B in modo che sia chiaro che non ha bisogno di essere UN .

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

Provalo online!

E questa è una prova.

risorse

Programma di verifica

Ecco un programma Prolog che puoi usare per verificare che la tua prova sia effettivamente valida. Ogni passaggio deve essere posizionato sulla propria linea. ->dovrebbe essere usato per impliciti e -dovrebbe essere usato per no, gli atomi possono essere rappresentati da qualsiasi stringa di caratteri alfabetici.

Metamath

Metamath usa il sistema Łukasiewicz per le sue prove nel calcolo proposizionale, quindi potresti voler frugare un po 'lì intorno. Hanno anche una prova del teorema richiesto da questa sfida, che può essere trovato qui . C'è una spiegazione qui su come leggere le prove.

L'incredibile macchina per prove

@ Antony mi ha fatto conoscere uno strumento chiamato The Incredible Proof machine che ti permette di costruire prove in diversi sistemi usando un bel sistema di prove grafiche. Se scorri verso il basso, troverai che supportano il sistema Łukasiewicz. Quindi, se sei una persona più orientata alla vista, puoi lavorare sulla tua prova lì. Il tuo punteggio sarà il numero di blocchi utilizzati meno 1.


8
Aspetta, lasciami andare a prendere il mio taccuino per la matematica discreta ...
mbomb007,

5
@DigitalTrauma Sono un studente universitario ora e questo era un compito a casa che avevo (meno la parte del golf), quindi è molto probabile che tu possa averlo studiato. Ti incoraggio a provarlo anche se manchi di "competenza", penso che questa sfida sia accessibile anche per le persone che hanno un background prevalentemente nella programmazione.
Wheat Wizard

1
@ mbomb007 Non è possibile utilizzare il teorema di deduzione e poiché il sistema Łukasiewicz è completo non è necessario utilizzarlo.
Wheat Wizard

1
Beh, almeno non hai limitato gli assiomi a un unico schema universale:((P → Q) → R) → ((R → P) → (S → P))
mbomb007

2
L'Incredible Proof Machine è interamente drag and drop e supporta Łukasiewicz's. Scorri quasi fino in fondo e cerca "Sistema Hilbert". Ad esempio, ecco la prova @ user56656 che ha
Antony il

Risposte:


25

88 82 77 72 passaggi

Grazie a H.PWiz per le migliori conversioni combinate che hanno salvato 10 passaggi!

Spiegazione

Potresti avere familiarità con la corrispondenza Curry-Howard , in cui i teoremi corrispondono ai tipi e le prove corrispondono ai programmi di quei tipi. I primi due assiomi nel sistema Łukasiewicz sono in realtà i combinatori K e S , ed è risaputo che possiamo tradurre espressioni di calcolo lambda in espressioni combinatorie SK.

Quindi scriviamo alcune espressioni corrispondenti ai nostri assiomi (la seguente è una sintassi Haskell valida, il che è conveniente perché possiamo letteralmente controllare le nostre prove usando il compilatore Haskell):

data Not φ

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

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

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

Quindi possiamo scrivere una dimostrazione dell'affermazione desiderata come programma in termini di c(questa parte richiede un po 'di intelligenza, ma è molto più facile scrivere questa che una dimostrazione assiomatica a 72 righe):

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

e convertirlo in un'espressione 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)))

I combinatori 17 k, 16 se 4 csopra corrispondono alle 16 invocazioni LS1, 16 LS2 e 4 LS3 nella dimostrazione di seguito, e le 38 applicazioni di una funzione a un valore sopra corrispondono alle invocazioni di 38 MP di seguito.

Perché solo 16 invocazioni LS1? Si scopre che uno dei kcombinatori sopra ha una variabile di tipo libero e un'istanza che lo trasforma con cura in un duplicato di un altro che è già stato derivato.

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

Provalo online!


1
Wow, è fantastico.
Zacharý,

2
Non so dire se è più breve nei passaggi e devo andare adesso. Ma ho ottenuto 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 che è simile al tuo ma con un finale leggermente più corto
H.Piz

@ H.PWiz Neat, che in realtà corrisponde a un programma di prova leggermente diverso. Aggiornato.
Anders Kaseorg,

1
Che ne dici 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.Piz

@ H.PWiz Va bene per un altro −5 insieme al trucco della variabile di tipo libero.
Anders Kaseorg,

24

91 passaggi

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

Provalo online!

Una versione più leggibile dall'uomo usando 5 lemmi:

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)

Benvenuti nel sito e risposta impressionante! Hai verificato la tua risposta con lo script Prolog? In tal caso, ti dispiacerebbe includere un link a detta verifica?
caird coinheringaahing

@cairdcoinheringaahing Ho aggiunto un link tio allo script prolog alla risposta in modo che possa essere verificato (funziona). Solitamente vorrei commentare il collegamento ma il collegamento è troppo lungo per essere inserito in un commento.
Wheat Wizard

Questa è sostanzialmente la prova che stavo facendo, tranne per il fatto che hai usato diversi lemmi. Ho usato il principio di identità. Inoltre, non avevo ancora provato l'eliminazione della doppia negazione, perché la prova che stavo creando richiedeva la Realizzazione della Contraddizione.
mbomb007,

1
Saresti in grado di eliminare Lemma 5 e invece provare e utilizzare il teorema di sostituzione per passare da (¬¬A → ¬¬B) → (¬B → ¬A)a (A → B) → (¬B → ¬A)in meno passaggi?
mbomb007,

Penso che il primo passo sia ridondante? Non sono riuscito a trovare nulla a cui fare riferimento, quindi ho provato a eseguirlo su TIO senza quella riga e non ho ricevuto alcun avviso "Passaggio non valido".
Antony,

14

59 passaggi

Norman Megill, autore di Metamath, mi ha parlato di una prova a 59 passi, che pubblicherò qui in questa wiki della community. L'originale può essere trovato nel teorema 2.16 in questa pagina.

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

Norm dice: questa pagina offre molte sfide da superare!

Ecco la prova

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

La dimostrazione è in notazione polacca, quindi parte dalla conclusione e continua all'indietro fino a quando ogni termine è stato soddisfatto da un assioma. La mappatura dei caratteri è la seguente: "1" è l'assioma LS 1, "2" è l'assioma LS 2, "3" è l'assioma LS 3 e "D" è Modus Ponens.

Ecco la prova nel formato suggerito 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 ) )

Provalo online!

Eccolo in The Incredible Proof Machine inserisci qui la descrizione dell'immagine

png svg


Non ricordo di aver suggerito un tale formato ... Per quello che vale, l'espressione sk corrispondente è 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)))). Non ho modo di riconvertirlo in
lambdas

@ H.PWiz È \x -> c (\y -> c (\z -> c (c (\_ -> z)) (\_ -> z)) (x (c (c (\_ -> y)) (\z -> c (\t -> c (c (\_ -> t)) (\_ -> t)) (x z))))). (Probabilmente non quello che scriveresti se ti avvicinassi da quella direzione.)
Anders Kaseorg,

@AndersKaseorg Sì, l'ho appena scoperto ed ho estratto gli utili teoremi: qui
H.PWiz

@ H.PWiz, scusa, no, non hai suggerito quel formato. Volevo dire che (spogliato del margine) è compatibile con il tuo verificatore Prolog.
Antony,

1
Mi dispiace di averti confuso con OP, @ H.Piz. Temo che il tuo nome utente sia sembrato uno nella successione dei molti nomi di WW i.imgur.com/VoSVoqI.png
Antony
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.