I tipi di sé rendono obsoleto il calcolo delle costruzioni induttive?


10

I tipi di sé sono un'estensione del Calculus of Constructions [1] che consente al linguaggio di esprimere tipi di dati algebrici codificati attraverso la codifica Scott. La codifica Scott offre la possibilità di adattarsi al modello O(1), che è uno dei principali motivatori per l'inclusione delle definizioni induttive nel CC. Tuttavia, i tipi di sé sono una teoria di base molto più semplice ed elegante, e apparentemente non sono meno potenti.

I tipi di sé, sotto un punto di vista teorico, rendono il CIC obsoleto o c'è ancora qualche aspetto su cui il CIC è favorevole rispetto al sé stesso?

[1] http://staff.computing.dundee.ac.uk/pengfu/document/talks/mvd-2012.pdf


2
Forse mi manca qualcosa, ma perché i tipi di sé non sono solo tipi ricorsivi generali (ad es. Non integri?) Questo non è un obiettivo per tutte le cose tipicamente dipendenti, ma sicuramente è importante importarlo in CiC. Anche la presentazione collegata ha un tipo nel tipo, ma non credo sia correlata / necessaria.
Daniel Gratzer,

@jozefg In effetti: "Sarà incoerenza come logica, ma nessun problema per i programmi." Dovresti pubblicare questo come risposta.
Gilles 'SO- smetti di essere malvagio' il

Quel commento non è indirizzato a * : *, @GIlles, non a Self?
MaiaVictor,

@srvm con le regole di battitura che hanno scritto, entrambi sono fonti di insicurezza. Hai un link al documento?
Daniel Gratzer,

Risposte:


5

Non sono un esperto in questo lavoro, ma mi sembra che il principale problema attuale sia la mancanza di prove SN, anche con restrizioni. Queste prove sono notoriamente complicate, anche se il calcolo è corretto, quindi ci darei un po 'di tempo. Il lavoro è sicuramente molto promettente.

Una cosa da notare è che queste restrizioni sono in realtà abbastanza banali da esprimere, il che è una grande parte della complessità della formulazione delle famiglie induttive nel CIC. Il vero punto di forza di un approccio come questo sarebbe formulare in modo conciso queste condizioni.

È stato un problema aperto piuttosto lungo da tempo avere un linguaggio tipicamente dipendente che è

  • Coerentemente / Normalizzazione
  • Può esprimere tutte le famiglie di tipi da Coq (o persino da Agda)
  • Consente una semplice espressione di ricorsione su queste famiglie
  • Semplice o ha un piccolo numero di costruzioni di base ( ).Π,Σ,μ

Uno di questi tentativi che conosco è il linguaggio Altenkirch & al , che allo stesso modo manca di uno studio meta-teorico completo (e inoltre non è coerente senza ulteriori restrizioni).ΠΣ

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.