Relazione tra decidibilità di controllo del tipo, decidibilità della tipabilità e forte normalizzazione


8

Yo! Questa è probabilmente una domanda stupida, tuttavia non l'ho mai vista scritta esplicitamente se, ad esempio, la decidibilità del controllo del tipo è equivalente alla forte proprietà di normalizzazione. Pertanto, sto ponendo questa domanda per chiarire tutte le possibili relazioni tra verifica del tipo, tipabilità e forte normalizzazione.

Lasciami spiegare la mia motivazione. Per le teorie dei tipi (sono intenzionalmente vago qui, ma sono interessato principalmente alle teorie dei tipi dipendenti), viene utilizzata una forte normalizzazione per dimostrare la decidibilità del controllo del tipo. Dall'altro lato, tutti i sistemi tipizzati che conosco che hanno una di queste proprietà hanno anche l'altro. Tuttavia non ho mai visto esplicitamente affermato che una forte normalizzazione equivale alla decidibilità del controllo del tipo.

Analogamente, per dimostrare la tipabilità, di solito (forse sempre), si riduce un termine a una forma normale. Tuttavia è noto che la tipabilità non è vera per le teorie dei tipi dipendenti, mentre può essere valida una forte normalizzazione.

Per decidibilità del controllo del tipo, intendo che per ogni dato tipo , contesto e termine non tipizzato , è possibile decidere in un numero finito di passaggi se è vero oppure no.UNΓun'Γun':UN

Per decidibilità della tipabilità, intendo che per ogni dato termine non tipizzato , è possibile decidere in un numero finito di passaggi se esiste un contesto e un tipo tale che è vero.un'ΓUNΓun':UN

1) È vero che la decidibilità della verifica del tipo equivale a che ogni termine sia fortemente normalizzabile?

2) Più in generale, qual è la relazione tra decidibilità del controllo del tipo, tipabilità e forte normalizzazione? Quale implica l'altro?

Grazie in anticipo.

MODIFICARE

Data l'insoddisfazione per quanto riguarda il livello di generalità della mia domanda (di cui non ero a conoscenza), vorrei delimitarla solo ai sistemi di tipo puro. Naturalmente, ulteriori commenti o controesempi relativi ad altre teorie di tipo saranno di grande utilità.


4
Senza alcuna restrizione? E se prendessimo il sistema dei tipi banali in cui ogni termine ha ogni tipo? È banalmente decidibile ma non normalizzante. Temo che, in generale, a meno che non vengano posti più vincoli al sistema dei tipi, non ci potrebbero essere relazioni tra le nozioni che citi.
chi,

@chi mi dispiace. Non ero a conoscenza del livello di generalità della definizione di un sistema tipizzato. Quello che avevo in mente era qualcosa come un frammento della teoria dei tipi di Martin-Löf (estensionale) con gli universi. Ritengo, pertanto, che Pure Typed Systems sarebbe il limite corretto nella mia domanda.
user40276,

Cosa intendi con "Rinvio Espansione" risolto? Il link non è più disponibile Finora la mia comprensione è che è noto per una sottoclasse di PTS (penso semi-pieno), ma è ancora una congettura aperta per il caso generale.
Saroupille,

Risposte:


12

Darò una risposta più mirata e tecnica a quella di Martin. Se siamo interessati a teorie di tipo dipendente, nessuna delle due direzioni è ovvia, ma si presume generalmente che entrambe siano valide. Comunque la direzione DecidableCredo che la normalizzazione sia aperta anche per sistemi relativamente ben compresi, anche se abbiamo risultati parziali. Questa domanda esplora alcuni degli stessi problemi.

Più tecnicamente: un buon quadro tecnico per queste domande è l'impostazione di tipo sistemi Pure in cui la normalizzazione non implica decidibilit'a di controllo dei tipi. Il risultato è folklore, ma non banale, poiché è necessario trovare una strategia per quando applicare la regola di conversione. La strategia ovvia è quella di normalizzare i tipi dedotti prima di tutte le applicazioni della regola dell'applicazione. Ci sono alcune sottigliezze anche qui, dove la correttezza di una strategia naturale (più efficiente) chiamata rinvio dell'espansione è stata aperta per un po ', ma da allora è stata risolta.

Esistono sistemi di tipi che sono normalizzanti ma indecidibili, in particolare il sistema con tipi di intersezione che digita esattamente i termini di normalizzazione e quindi deve essere indecidibile (poiché altrimenti potrebbe essere usato per identificare termini di normalizzazione). Sarebbe allettante dire qui che il sistema è difettoso, nel senso che non è un tipo diretto , cioè i termini non contengono abbastanza informazioni per capire il tipo.

Ora il contrario, che suggerisce che i sistemi non normalizzanti sono indecidibili, è lungi dall'essere ovvio: è stato persino aperto per un po 'per il famoso Type:Typesistema di Martin-Löf! Questo caso è stato risolto dando un esempio di un combinatore di loop, che consente di scrivere calcoli arbitrari.

Tuttavia, il problema generale è ancora aperto per i sistemi di tipo puro generale, sebbene sia ampiamente ritenuto vero e alcuni risultati parziali sono stati mostrati in questa direzione, ad esempio qui .


Grazie per la tua risposta. Che dire della decidibilità della tipabilità?
user40276,

1
@ user40276 questa è una domanda piuttosto diversa. Con le annotazioni sulle astrazioni, la tipabilità e l'inferenza del tipo sono ugualmente difficili. Senza annotazioni, le cose diventano indecidibili quasi immediatamente, indipendentemente dalla risoluzione, come spiegato nelle risposte qui: cs.stackexchange.com/questions/12691/…
cody

4

(1) Falso. Contro esempio: Java, Scala, Haskell, ...

(2) Non esistono relazioni generali, dipende in realtà dai dettagli della lingua / del sistema di battitura. C'è un'eccezione: per linguaggi sani e sistemi di battitura, immagino che la decidibilità dell'inferenza del tipo (che presumo sia ciò che intendi per "tipabilità") implica banalmente il controllo del tipo. Ma non sarei sorpreso se si potesse inventare un sistema pazzo in cui anche quell'implicazione non regge.


Grazie per la tua risposta. La tipabilità si riferisce al processo di ricerca di un tipo in modo che un termine gli appartenga e non tutti questi tipi.
user40276,

In che modo ciò si collega al concetto convenzionale di inferenza di tipo?
Martin Berger,

Un esempio specifico in cui l'inferenza di tipo decidibile non comporta un controllo di tipo decidibile: calcolo lambda polimorfo di grado 2. Esistono algoritmi di inferenza per questo linguaggio, tuttavia non sono stabili con l'aggiunta delle firme di tipo. Cioè, non abbiamo che Γ⊢a: A implica Γ⊢ (a :: A): A dove sto usando :: per la frase del linguaggio oggetto di "a ha tipo A". Pertanto, anche se possiamo dedurre A per a, non possiamo sempre verificare a contro A.
wren romano

@wrenromano Interessante. Il sistema F ha inferenza e controllo indecidibili e il calcolo lambda polimorfo di grado 2 è un sottosistema (di sorta). Hai un riferimento per questo fenomeno?
Martin Berger,

Scusate. Il mio commento è sbagliato come ho scritto, dovrebbe essere: "La tipizzabilità si riferisce al processo di ricerca di un tipo tale che il termine dato gli appartiene e non tutti questi tipi". La decidibilità dell'inferenza del tipo implica la decidibilità della tipabilità. Sono quasi sicuro che l'affermazione reciproca non regge, ma non sono a conoscenza di un controesempio.
user40276,
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.