Questa è una domanda di follow-up a Qual è la differenza tra prove e programmi (o tra proposizioni e tipi)? Quale programma corrisponderebbe a una dimostrazione non costruttiva (classica) della forma ∀ k T ( e , k ) ∨ ¬ ∀ k T ( e , k )∀k T(e,k)∨¬∀k …
Sono interessato al motivo per cui i numeri naturali sono così amati dagli autori di libri sulla teoria dei linguaggi di programmazione e la teoria dei tipi (ad esempio J. Mitchell, Fondamenti per i linguaggi di programmazione e B. Pierce, Tipi e linguaggi di programmazione). La descrizione del semplice lambda-calcolo …
Come progetto collaterale, sto scrivendo una lingua usando Python. Ho iniziato usando un clone flex / bison chiamato Ply, ma sto arrivando contro i bordi nel potere di ciò che posso esprimere con quello stile di grammatica, e non mi interessa hackerare il mio linguaggio a causa di un'impedenza non …
Se seguiamo il libro (o qualsiasi altra versione della specifica del linguaggio, se preferisci), quanta potenza computazionale può avere un'implementazione C? Si noti che "implementazione C" ha un significato tecnico: è un'istanza particolare della specifica del linguaggio di programmazione C in cui è documentato il comportamento definito dall'implementazione. L'implementazione in …
Sono confuso dalla sottile differenza tra proposizioni e giudizi quando esposto alla teoria del tipo intuizionista. Qualcuno può spiegarmi qual è il punto di distinguerli e cosa li distingue? Soprattutto in vista dell'isomorfismo di Curry-Howard.
Recentemente ho letto Le due dualità del calcolo: tipi negativi e frazionari . Il documento si espande su tipi di somma e tipi di prodotto, dando semantica ai tipi a - be a/b. A differenza dell'aggiunta e della moltiplicazione, non ci sono una ma due inversioni di esponenziazione, logaritmi e …
Questa domanda è stata migrata da StackTranslate.it perché è possibile rispondere sullo scambio di stack teorico di informatica. Migrato 8 anni fa . Dato che la corrispondenza Curry-Howard è così diffusa / estesa, c'è qualche differenza tra prove e programmi (o tra proposizioni e tipi)? Possiamo davvero identificarli?
ACSL (Ansi C Specification Language), è una specifica per il codice C, annotata con commenti speciali, che consente di verificare formalmente il codice C. Non ci ho pensato , ma immagino che i metodi formali utilizzati nei verificatori ACSL sarebbero simili a Hoare Logic. Per i linguaggi puramente funzionali, come …
Dato che Lambda the Ultimate non ha ricevuto alcuna risposta, la provo di nuovo qui: i sistemi di riscrittura dei termini sono usati ad esempio nel teorema automatizzato che dimostra un calcolo simbolico e, naturalmente, per definire grammatiche formali. Esistono alcuni linguaggi di programmazione basati sulla riscrittura dei termini, ma …
1) Qual è l'eventuale relazione tra la tipizzazione statica e le grammatiche formali? 2) In particolare, sarebbe possibile per un automa a limite lineare verificare se, per esempio, un programma C ++ o SML fosse ben tipizzato? Un automa pila nidificato? 3) Esiste un modo naturale per esprimere regole di …
Nella sua risposta a questa domanda , Stephane Gimenez mi ha indicato un algoritmo di normalizzazione in tempo polinomiale per prove nella logica lineare. La prova nel documento di Girard usa reti di prova, che sono un aspetto della logica lineare di cui in realtà non so molto. Ora, ho …
Tipi e linguaggi di programmazione si focalizzano un po 'sul sottotipo, ma per quanto ne so, il sottotipo non sembra particolarmente fondamentale. Il sottotipo ti dà qualcosa in più rispetto ai tipi dipendenti? Lavorare con tipi dipendenti è destinato ad essere più lavoro, quindi posso capire perché i sottotipi potrebbero …
Da quello che ho capito (che è molto poco, quindi per favore correggimi dove sbaglio!), La teoria dei linguaggi di programmazione si occupa spesso di prove "intuizioniste". Secondo la mia interpretazione, l'approccio richiede che prendiamo sul serio le conseguenze del calcolo sulla logica e sulla dimostrabilità. Una prova non può …
Ispirato dalle vaste gerarchie presenti nella teoria della complessità, mi chiedevo se tali gerarchie fossero presenti anche per i sistemi di tipi. Tuttavia, i due esempi che ho trovato finora sono entrambi più simili a liste di controllo (con caratteristiche ortogonali) piuttosto che a gerarchie (con sistemi di tipo sempre …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.