se (λ x. xx) ha un tipo, allora il tipo di sistema è incoerente?


20

Se un sistema di tipi può assegnare un tipo a λ x . x x, o al non terminante (λx . x x) (λ x . x x), allora quel sistema è incoerente di conseguenza? Ogni tipo sotto quel sistema è abitato? Puoi dimostrare falso?

Risposte:


29

Certamente, assegnando un tipo a non è sufficiente per incoerenza: nel sistema F , possiamo derivare λ x . x x : ( X . X ) ( X . X )λx.x xF

λx.x x:(X.X)(X.X)

in un modo abbastanza semplice (questo è un buon esercizio!). Tuttavia, non può essere ben digitato in questo sistema, assumendo la coerenza ω dell'aritmetica del 2 ° ordine, poiché ciò implica che tutti questi termini ben tipizzati si stanno normalizzando.(λx.x x)(λx.x x) ω

Inoltre, il sistema è coerente. Ciò deriva dal sia la normalizzazione, come si può dimostrare che qualsiasi termine di tipo X . X non può avere una forma normale, o un argomento molto più semplice, in cui ogni tipo è assegnato un insieme, sia o { } e può essere dimostrato che tutti i tipi derivabili sono assegnati { } , e X . X è assegnato (e quindi non è derivabile).FX.X{}{}X.X

Quest'ultimo argomento può essere svolto in aritmetica di primo ordine. Il fatto che può essere ben digitato in un sistema coerente può essere visto come un po 'inquietante, ed è una conseguenza dei sistemi impredicativity . Non dovrebbe sorprendere che alcune persone mettano in dubbio l'affidabilità dei sistemi di logica impredicativa. Tuttavia, finora non sono state rilevate incoerenze in tali sistemi.λx.x x

(λx.x x)(λx.x x)

Maggiori dettagli sono disponibili nella mia risposta a una domanda correlata: /cstheory//a/31321/3984


4
Leggendo queste risposte, vedo che ovviamente hai una grande comprensione della questione. Mi piacerebbe saperne di più, ma non sono sicuro di dove cercare. Ho dato un'occhiata al libro TAPL e non menziona nulla di ciò, quindi non sono sicuro che si tratti di un argomento di teoria dei tipi. Potresti indicarmi quali aree CS / matematiche sono correlate a questa domanda e forse alcuni libri / articoli? Grazie mille.
MaiaVictor,

2
Non sono sicuro che queste domande siano di per sé un '"area di ricerca" , più come alcune domande divertenti a cui sarebbe stata data risposta molto tempo fa se gli esperti avessero preso un serio sforzo. È sicuramente un argomento di teoria dei tipi e la teoria dei sistemi di tipo puro ha il vantaggio di rendere il problema definito e vincolato. Probabilmente consiglierei la carta Coquand-Herbelin dall'altro filo.
cody

3
Domande simili sono state poste, ad esempio qui e qui . Aggiungerei i "calcoli lambda con tipi" di Barendregt all'elenco.
cody

1
λx:(X.X).ΛY.x[YY](x[Y])(X.X)(X.X)

1
λλX:(X.X).X[(X.X)(X.X)] Xse ti piace. Inferenza qui è indecidibile ma questo è in qualche modo ortogonale alla domanda. Naturalmente le cose non sono così chiare quando si hanno tipi dipendenti, ma ci sono versioni, ad esempio, del CoC con quantificazioni implicite (Calcolo delle costruzioni implicite di Miquel), quindi la domanda rimane pertinente.
cody
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.