Nel libro Hott, la maggior parte dei formatori di tipi sono ridondanti? E se sì, perché?


14

Nel capitolo 1 e nell'Appendice A del libro Hott , vengono presentate diverse famiglie di tipi primitivi (tipi di universo, tipi di funzioni dipendenti, tipi di coppie dipendenti, tipi di prodotti, tipo vuoto, tipo di unità, tipo di numero naturale e tipi di identità) per formare la base per la teoria del tipo di omotopia.

Tuttavia sembra che dati i tipi di universo e tipi di funzione dipendenti sia possibile costruire tutti questi altri tipi "primitivi". Ad esempio, il tipo vuoto potrebbe invece essere definito come

ΠT:U.T

Suppongo che anche gli altri tipi possano essere costruiti in modo simile a come sono in puro CC , (cioè derivano semplicemente il tipo dalla parte induttiva della definizione).

Molti di questi tipi sono esplicitamente ridondanti dai tipi Induttivo / W introdotti nei capitoli 5 e 6. Ma i tipi Induttivo / W sembrano essere una parte facoltativa della teoria poiché ci sono domande aperte su come interagiscono con HoTT (a almeno al momento della pubblicazione del libro).

Quindi sono molto confuso sul perché questi tipi aggiuntivi siano presentati come primitivi. La mia intuizione è che una teoria di base dovrebbe essere il più minima possibile e ridefinire un tipo vuoto ridondante come primitiva nella teoria sembra molto arbitrario.

Questa scelta è stata fatta

  • per alcuni motivi metateoretici di cui non sono a conoscenza?
  • per ragioni storiche, per far apparire la teoria dei tipi come teorie del tipo passate (che non cercavano necessariamente di essere fondamentali)?
  • per "usabilità" delle interfacce del computer?
  • per qualche vantaggio nella ricerca di prove di cui non sono a conoscenza?

Simile a: Specifica minima della teoria dei tipi di Martin-Löf , /cs/82810/reducing-products-in-hott-to-church-scott-encodings/82891#82891


Sono ridondanti, ma non nel modo in cui stai suggerendo. Dovresti chiederti quale scopo serve la "minimalità della fondazione"? E ci teniamo allo scopo?
Andrej Bauer,

1
Presumo che il lavoro tecnico sia minimo per convenzione, dove le cose non devono essere minime se è ovviamente conveniente o diversamente indicato esplicitamente. Il libro aderisce anche a questo in altri luoghi, come quando definisce i tipi di troncamento (definiti da regole, ma esplicitamente non minimi). Ad esempio, se vedessi i nat definiti in termini di 0,1,10, il successore e l'operazione di funzionamento, sarei confuso, ma potrei almeno capire perché è notoriamente conveniente. Hott è un'area di studio molto più complessa e voglio sapere se mi manca qualcosa di ovvio.
user833970

1
Sarei molto interessato a sapere come possono essere dannosi. Dovrei fare una nuova domanda al riguardo?
user833970,

1
@AndrejBauer Vorrei sapere perché anche loro sarebbero dannosi. Il mio ragionamento per credere che il linguaggio di base dovrebbe essere minimo è il ragionamento alla base del rasoio di Occam, è ingiustificata complessità aggiunta. Perché fermarsi qui? Perché non aggiungere anche elenchi, stringhe, coppie, triple, vettori? Quelle sembrano scelte arbitrarie, cosa le giustifica? Modifica: ho appena notato che questa domanda ha delle risposte; ma lascerò questo commento qui solo per il motivo di notare perché anche a me sarei interessato.
MaiaVictor,

1
Scriverò un post sul blog.
Andrej Bauer,

Risposte:


14

Mi spiego perché la codifica suggerita del tipo vuoto non funziona. Dobbiamo essere espliciti sui livelli dell'universo e non spazzarli sotto il tappeto.

Quando le persone dicono "il tipo vuoto", potrebbero significare una delle due cose:

  1. Un singolo tipo che è vuoto rispetto a tutti i tipi. Tale tipo ha la regola di eliminazione: per ogni famiglia n e tipoEn , c'è una mappa e n , A : E A .UN:EUnen,UN:EUN

  2. Una famiglia di tipi , una per ogni livello di universo k , tale che E k è "il tipo vuoto di U k ". Un tale tipo deve soddisfare E k : U k , ovviamente, e anche: per ogni tipo di famiglia A : E kEKKEkUkEK:UK , esiste una mappa e k , A : E kA .UN:EKUKeK,UN:EKUN

Senza alcuna condizione, quando le persone dicono "tipo vuoto" si aspettano il primo significato sopra.

Come possiamo ottenere ? Un primo tentativo potrebbe essere qualcosa di simile a E = Π ( T : U )E ma questo è precisamente il tipo di spazzare sotto il tappeto che crea confusione. Dobbiamo scrivere livelli dell'universo espliciti. Se scriviamo qualcosa come E k = Π ( T : U k )

E=Π(T:U).T
allora otteniamo una sequenza di tipo E 0 , E 1 , E 2 , ... , uno per ogni livello k . Potremmo sperare che questa sequenza sia il tipo vuoto nel senso sopra, ma non lo è, perché E k è in U k + 1 ma dovrebbe essere in U k .
EK=Π(T:UK).T
E0,E1,E2,...KEKUK+1UK

Un altro tentativo è ma ora si deve spiegare che cosa " Π n " si suppone che sia. Potresti essere tentato di dire che esiste un tipo L di livelli di universo, quindi E = Π ( n : L )

E=Πn.Π(T:Un).T
ΠnL Sei ora caduto in una trappola, perché ti chiederò: in quale universo E vive? E in quale universovive L ? Questo non funzionerà.
E=Π(n:L).Π(T:Un).T
EL

C'è una soluzione, conosciuta come universo impredicativo . Questo è un universo magico che ha la proprietà che, dato B : U U , il tipo Π ( X : U ) B ( X ) vive in U (e non a un livello superiore di U ). Quindi almeno Π ( X : U ) X è di nuovo in U e avrà l'eliminatore previsto. Ma non abbiamo ancora finito, poiché ora dobbiamo preoccuparci delle equazioni per l'eliminazione, come sottolineato da Neel.UB:UUΠ(X:U)B(X)UUΠ(X:U)XU

Universi imprevedibili possono essere organizzati. Tuttavia, un famoso teorema di Thierry Coquand (se non sbaglio), mostra che avere due universi impredicativi, uno contenuto nell'altro, porta a una contraddizione.

La morale della storia è: basta assiomatizzare direttamente il tipo vuoto e smettere di codificare le cose.


Questo è un ragionamento convincente per assiomatizzare il tipo vuoto, ma sono ancora curioso del ragionamento per assiomatizzare tutte quelle cose più pesanti.
MaiaVictor,

@MaiaVictor: al contrario di cosa?
Andrej Bauer,

Scusa? Intendo solo che hai giustificato in modo convincente il motivo per cui è una buona idea assiomatizzare il tipo vuoto in particolare. Ma OP ha anche chiesto altre cose: "tipi di universo, tipi di funzione dipendenti, tipi di coppia dipendente, tipi di coprodotto, tipo vuoto, tipo di unità, tipo di numero naturale e tipi di identità" (che presumo siano anche primitivi sul sistema proposto sul Libro HoTT). (Ovviamente non ti sto chiedendo di giustificare tutti, manifestando solo il mio interesse.)
MaiaVictor

1=X:U(XX)

@IngoBlechschmidt curioso di sapere che tipo di problemi! Mi sembra buono ...
MaiaVictor

15

Stai ponendo diverse domande simili ma distinte.

  1. Perché il libro HoTT non usa le codifiche della Chiesa per i tipi di dati?

    Le codifiche della chiesa non funzionano nella teoria del tipo Martin-Löf, per due ragioni.

    nk<n

    In secondo luogo, anche se hai definito tipi di dati come i numeri naturali con le codifiche della Chiesa, per fare prove con questi tipi, hai bisogno di principi di induzione per provare cose su di essi. Per derivare i principi di induzione per le codifiche della Chiesa, è necessario utilizzare un argomento basato sulla parametricità di Reynolds e la questione di come internalizzare i principi di parametricità nella teoria dei tipi non è ancora completamente risolta. (Lo stato dell'arte è Nuyts, Vezzosi e Devriese's ICFP 2017 paper Parametric Quantificers for Dependent Teory - nota che questo è ben dopo la stesura del libro HoTT!)

  2. Successivamente, ti stai chiedendo perché la fondazione non è minima. Questa è in realtà una delle caratteristiche sociologiche distintive delle basi teoriche del tipo - i teorici del tipo considerano avere un piccolo insieme di regole come una convenienza tecnica, senza molto significato fondamentale. È molto, molto più importante avere il giusto set di regole, piuttosto che il più piccolo set di regole.

    Sviluppiamo teorie dei tipi che devono essere utilizzate da matematici e programmatori, ed è molto, molto importante che le prove fatte nella teoria dei tipi siano quelle che i matematici e i programmatori considerano fatte nel modo giusto. Questo perché gli argomenti che i matematici in genere considerano avere un buon stile in genere sono strutturati usando i principi algebrici e geometrici chiave del dominio di studio. Se devi usare codifiche complicate, molta struttura viene persa o oscurata.

    Questo è il motivo per cui anche le presentazioni teoriche del tipo della logica classica proposizionale invariabilmente danno tutti i connettivi logici, anche se è formalmente equivalente a una logica con solo NAND. Certo, tutti i connettivi booleani possono essere codificati con NAND, ma quella codifica oscura la struttura della logica.


Grazie per questa risposta! Dovrò leggere quel documento (e il tuo) e potrebbe avere più senso. Ma, ho pensato che la gerarchia dell'universo fosse progettata per far sembrare che tu possa fare cose predicative: per esempio (λA: U.λa: Aa) (ΠA: UA → A) sarebbe desugar to (λA: Un + 1.λa: Aa) (ΠA: Un.A → A). Penso che sia una strana scelta editoriale non spiegarlo, ogni libro di logica che conosco sottolinea molte altre codifiche minime come CNF, DNF, NAND e così via. E chiunque sia abituato a impostare la teoria si aspetta una codifica "naturale" dei Nat, per dimostrare la teoria. Ma questo potrebbe essere solo il mio pregiudizio classico.
user833970

dovrebbe essere "impredicativo" nel mio ultimo commento
user833970,

(T:Un).TUnUn+1Un

Forse sto fraintendendo qualcosa sulle gerarchie dell'universo. Ho pensato che non ci interessa mai in quale specifico Universo si trova un tipo, solo che i numeri di universo possono essere assegnati quando vogliamo verificare una prova. Quindi tecnicamente ΠT: UT è una famiglia di tipi indicizzati su universi. Proprio come l'identità polimorfica è una famiglia di tipi indicizzati su universi. Ma non abbiamo lo stesso problema con l'identità polimorfica? Ti sarei davvero grato se potessi ampliare le ultime 2 frasi, non credo di capire.
user833970

Quando dici che non ha le giuste proprietà di eliminazione, intendi che una volta che l'universo è stato fissato, ci sono tipi in universi superiori che non possono essere sintetizzati direttamente con un termine di ΠT: Un.T?
user833970
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.