Il combinatore Y contraddice la corrispondenza Curry-Howard?


16

Il combinatore Y ha il tipo . Dalla corrispondenza Curry-Howard, poiché il tipo ( a a ) a è abitato, deve corrispondere a un vero teorema. Comunque a a è sempre vero, quindi sembra che il tipo del combinatore Y corrisponda al teorema a , che non è sempre vero. Come può essere?(un'un')un'(un'un')un'un'un'un'

Risposte:


21

La corrispondenza originale di Curry-Howard è un isomorfismo tra la logica proposizionale intuizionista e il calcolo lambda tipicamente tipizzato.

Ci sono, naturalmente, altri isomorfismi simili a Curry-Howard; Phil Wadler ha sottolineato che il nome a doppia canna "Curry-Howard" prevede altri nomi a doppia canna come "Hindley-Milner" e "Girard-Reynolds". Sarebbe divertente se "Martin-Löf" fosse uno di loro, ma non lo è. Ma sto divagando.

Il combinatore Y non lo contraddice, per un motivo chiave: non è espressibile nel calcolo lambda tipizzato in modo semplice.

In effetti, quello era il punto. Haskell Curry ha scoperto il combinatore del punto fisso nel calcolo lambda non tipizzato e lo ha usato per dimostrare che il calcolo lambda non tipizzato non è un sistema di deduzione del suono.

È interessante notare che il tipo di Y corrisponde a un paradosso logico che non è così noto come dovrebbe essere, chiamato paradosso di Curry. Considera questa frase:

Se questa frase è vera, allora esiste Babbo Natale.

Supponiamo che la frase fosse vera. Quindi, chiaramente, esisterebbe Babbo Natale. Ma questo è esattamente ciò che dice la frase, quindi la frase è vera. Pertanto, Babbo Natale esiste. QED


6
Babbo Natale non esiste ?!
Andrej Bauer,

11
Lo fa e l'ho appena dimostrato.
Pseudonimo

6
Uff, ero preoccupato per un momento.
Andrej Bauer,

9

Curry-Howard mette in relazione i sistemi di tipi con i sistemi di detrazione logica. Tra le altre cose, mappa:

  • programmi per prove
  • valutazione del programma per trasformazioni su prove
  • tipi abitati a proposizioni vere
  • digitare i sistemi in sistemi di deduzione logica

Se il sistema di tipi ammette un combinatore Y, significa che il sistema di detrazione logica corrispondente è incoerente : ogni teorema è vero. Dal lato del programma, il combinatore Y consente qualsiasi funzione di tipoun'B da definire, per qualsiasi un' e B: Y(λX.X)Y(λX.M). La corrispondente regola di detrazione consente a qualsiasi proposta di essere derivata da qualsiasi altra proposta. Pertanto il sistema logico è incoerente.

La corrispondenza Curry-Howard è proprio questa: una corrispondenza. Di per sé, non dice che certi teoremi siano veri. Dice che la tipabilità / provabilità porta da una parte all'altra.

La corrispondenza Curry-Howard è utile come strumento di prova con molti sistemi di tipo: calcolo lambda semplicemente digitato, sistema F, calcolo delle costruzioni, ecc. Tutti questi sistemi di tipo hanno la proprietà che la logica corrispondente è coerente (se la matematica normale è coerente ). Hanno anche la proprietà di non consentire la ricorsione arbitraria. La corrispondenza Curry-Howard mostra che queste due proprietà sono correlate.

Curry-Howard si applica ancora ai calcoli tipizzati non terminanti e ai sistemi di detrazione incoerenti. Non è particolarmente utile lì.

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.