Classe di funzioni calcolabili da Coq


22

Poiché non consente il calcolo non terminante, Coq non è necessariamente completo di Turing. Qual è la classe di funzioni che Coq può calcolare? (esiste una sua caratterizzazione interessante?)

Risposte:


18

Benjamin Werner ha dimostrato l'interpretazione reciproca di ZFC con numerosi inaccessibili e il Calcolo delle costruzioni induttive, nel suo articolo Insiemi di tipi, Tipi di insiemi .

Ciò significa, approssimativamente, che qualsiasi funzione che può essere dimostrata essere totale in ZFC con numerosamente molti inaccessibili può essere definita in Coq. Quindi, a meno che tu non sia un teorico stabilito che lavora su cardinali di grandi dimensioni, è improbabile che qualsiasi funzione calcolabile che tu abbia mai desiderato non possa essere definita in Coq.


7
Tranne un interprete Coq ...
Jules,

6
In realtà, è possibile implementare un interprete Coq (in effetti, funzioni ricorsive generali arbitrarie) all'interno di Coq. Se il CIC è coerente, non sarai in grado di dimostrare che l'interprete è una funzione totale, ovviamente, ma puoi sicuramente implementarlo.
Neel Krishnaswami,

2
Aνα.A+αcontexttermtypebool

1
@Neel: Questo è barare. E per una buona ragione, altrimenti avremmo un'incoerenza.
Andrej Bauer,

2
È un imbroglio perché la funzione di valutazione dovrebbe valutare le cose, non darti una non risposta.
Andrej Bauer,
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.