Beh, penso che sia giunto il momento di fare un'altra domanda sul campo da golf .
Questa volta proveremo la ben nota verità logica
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 - ), e gli operatori implicano ( ) e non ( ).
Ad esempio, se volessi introdurre il primo assioma (LS1), potrei presentarlo
o
Nel primo caso era e era , mentre nel secondo caso entrambe erano espressioni più coinvolte. era e era .
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
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 .
A volte è meglio lavorare all'indietro poiché sappiamo dove vogliamo essere, possiamo capire come poterci arrivare. In questo caso poiché vogliamo concludere con 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.
Dove è un'espressione di cui non conosciamo ancora il valore. Ora ci concentreremo su . Questo può essere introdotto da Modus Ponens o LS3. LS3 ci richiede di dimostrare che sembra difficile quanto , quindi andremo con modus ponens. Quindi ora la nostra prova sembra
φ
ψ
ψ → (φ → (A → A))
φ → (A → A) M.P.
A → A M.P.
Ora 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.
Ora la nostra seconda affermazione 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.
Ora abbiamo solo bisogno di trovare un tale che possiamo dimostrare . 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.
Ora, poiché tutti i nostri passi sono giustificati, possiamo compilare , poiché qualsiasi affermazione che vogliamo e la prova sarà valida. Abbiamo potuto scegliere ma io sceglieremo in modo che sia chiaro che non ha bisogno di essere .
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.
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.
((P → Q) → R) → ((R → P) → (S → P))