Come rendere forte la normalizzazione del calcolo Lambda senza un sistema di tipi?


9

Esiste un sistema simile al calcolo lambda che si sta fortemente normalizzando, senza la necessità di aggiungere un sistema di tipi sopra di esso?


5
La domanda è un po 'sfocata: cosa intendi con "simile a"? Gli automi a stati finiti sono simili? Il calcolo è un modello universale di calcolo, quindi tutto ciò che è "simile" probabilmente presenterà forme di calcolo non terminanti. λ
Martin Berger,

Risposte:


22

Mi vengono in mente alcune possibili risposte provenienti dalla logica lineare.

Il più semplice è il lambda-calcolo affine: considera solo i termini lambda in cui ogni variabile appare al massimo una volta. Questa condizione è preservata dalla riduzione ed è immediato vedere che la dimensione dei termini affini diminuisce rigorosamente ad ogni passo di riduzione. Pertanto, il lambda-calcolo affine non tipizzato si sta fortemente normalizzando.

Esempi più interessanti (in termini di espressività) sono dati dai cosiddetti lambda-calcoli "leggeri", derivanti dai sottosistemi di logica lineare introdotti da Girard in "Light Linear Logic" (Informazione e calcolo 143, 1998). come "Soft Linear Logic" di Lafont (Theoretical Computer Science 318, 2004). Ci sono molti di questi calcoli in letteratura, forse un buon riferimento è "Calcolo lambda leggero affine e forte normalizzazione del tempo polinomiale" (Archive for Mathematical Logic 46, 2007). In quel documento, Terui definisce un lambda-calcolo derivato dalla logica affine della luce e dimostra un forte risultato di normalizzazione per esso. Anche se i tipi sono menzionati nel documento, non vengono utilizzati nella prova di normalizzazione. Sono utili per una formulazione accurata della proprietà principale della lambda-calcolo affine alla luce, vale a dire che i termini di un certo tipo rappresentano esattamente le funzioni di Polytime. Risultati simili sono noti per il calcolo elementare, usando altri lambda-calcoli "leggeri" (il documento di Terui contiene ulteriori riferimenti).

Come nota a margine, è interessante osservare che, in termini teorico-dimostrativi, il lambda-calcolo affine corrisponde alla logica intuizionista senza la regola della contrazione. Grishin osservò (prima dell'introduzione della logica lineare) che, in assenza di contrazione, la teoria degli insiemi ingenui (cioè, con comprensione illimitata) è coerente (cioè, il paradosso di Russel non dà contraddizione). Il motivo è che l'eliminazione del taglio per l'ingenua teoria degli insiemi senza contrazione può essere dimostrata da un semplice argomento di riduzione delle dimensioni (come quello che ho dato sopra) che non si basa sulla complessità delle formule. Tramite la corrispondenza Curry-Howard, questa è esattamente la normalizzazione del lambda-calcolo affine non tipizzato. È traducendo il paradosso di Russel in logica lineare e "modificando" le modalità esponenziali in modo che nessuna contraddizione potesse essere derivata dal fatto che Girard avesse escogitato una logica lineare leggera. Come accennato in precedenza, in termini computazionali la logica lineare leggera fornisce una caratterizzazione delle funzioni calcolabili nel tempo polinomiale. In termini di teoria della dimostrazione, una teoria dell'insieme ingenuo coerente può essere definita nella logica lineare leggera in modo tale che le funzioni complessivamente dimostrabili siano esattamente le funzioni calcolabili del tempo polinomiale (c'è un altro articolo di Terui su questo, "Teoria dell'insieme affine di luce: un'ingenua teoria del tempo polinomiale ", Studia Logica 77, 2004).


Direi che il calcolo del lambda leggero affine di Terui è tipizzato, date le restrizioni sull'uso delle variabili affine, la stratificazione degli operatori e il mono-carattere dell'operatore! È solo che queste restrizioni sono introdotte in modo informale. Anche la LLL di Girard è digitata.
Martin Berger,

@Martin: non sono d'accordo. I vincoli strutturali imposti ai termini affini leggeri sono di natura diversa da quelli di un sistema di battitura. La differenza più grande è che la tipizzazione è necessariamente induttiva mentre la buona formazione (cioè stratificazione, uso affine, ecc.) Può essere definita come una proprietà combinatoria di un termine. Quindi, ad esempio, quando si digita un termine di solito è necessario digitarne i sotto-domini, mentre non è necessario stratificare un sotto-termine di un termine stratificato.
Damiano Mazza,

Spiacente, un'altra cosa sull'LLL di Girard: il sistema è ovviamente tipizzato perché coinvolge formule. Tuttavia, come ho già detto nella mia risposta, le formule non hanno alcun ruolo nella eliminazione del taglio di LLL. In effetti, possono essere aggiunti punti fissi arbitrari di formule (compresa la formula paradossale di Russel, che equivale alla sua negazione!) Senza che LLL diventi incoerente. Questo perché l'eliminazione del taglio vale per ragioni "puramente strutturali", indipendentemente dal fatto che è possibile allegare tipi alle proprie prove (tecnicamente, il teorema di eliminazione del taglio per LLL può essere dimostrato in reti di prova non tipizzate).
Damiano Mazza,

OK, se fai dell'induttanza una condizione di qualcosa che è un sistema di battitura. Questo è un punto di vista interessante che non avevo mai incontrato prima.
Martin Berger,

... ed è un punto di vista che direi errato. Ad esempio, nei sistemi che implicano il sottotipo (più in generale, quando si considera un'interpretazione estrinseca dei tipi nel senso di Reynolds), è molto naturale assumere una visione induttiva della digitazione. Ci sono alcuni esempi in letteratura (anche se penso che questo non sia apprezzato).
Noam Zeilberger,

12

L'articolo originale di Church and Rosser, "Alcune proprietà della conversione", descrive qualcosa che potrebbe essere un esempio di ciò che stai cercando.

λx.MxM

BAmABm

Pertanto, anche se puoi scrivere termini non terminanti nel calcolo lambda (non tipizzato) rigoroso, ogni termine con una forma normale si normalizza fortemente; cioè, ogni sequenza di riduzioni raggiungerà quella forma normale unica.


1
m

Questa volta hai terminato l'affermazione del teorema, grazie. La parte che ho scritto come [modulo alpha equivalence] era originariamente "(all'interno delle applicazioni della Regola I)", il che significa la stessa cosa a meno che non ricordi correttamente la Regola I.
Rob Simmons,

10

Eccone uno divertente, di Neil Jones e Nina Bohr:

Terminazione di chiamata per valore nel tipizzatoλ

λλ

Il vantaggio della digitazione, ovviamente, è sia il basso costo di complessità che la modularità dell'approccio: in generale le analisi di terminazione sono molto non modulari, ma la digitazione può essere eseguita "pezzo per pezzo".


È davvero interessante!
MaiaVictor
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.