Sono interessato a ottenere una comprensione davvero solida della digitazione dipendente. Ho letto la maggior parte di TaPL e ho letto (se non completamente assorbito) "Tipi dipendenti" in ATTaPL . Ho anche letto e sfogliato un sacco di articoli sulla digitazione dipendente. Molte discussioni sulla teoria dei tipi sembrano concentrarsi …
Coq ha un tipo Prop di proposizioni irrilevanti che vengono scartate durante l'estrazione. Quali sono i motivi per avere questo se usiamo Coq solo per prove. Prop è impredicativo, quindi Prop: Prop, tuttavia, Coq infetta automaticamente gli indici dell'universo e possiamo usare il Tipo (i) invece ovunque. Sembra che Prop …
Ho letto alcuni articoli su tipi dipendenti e contratti di programmazione. Dalla maggior parte di ciò che ho letto, sembra che i contratti siano controllati dinamicamente i vincoli e che i tipi dipendenti siano controllati staticamente. Ci sono stati alcuni documenti che mi hanno fatto pensare che sia possibile avere …
Qualcuno potrebbe essere in grado di spiegare la differenza tra: Tipi di dati algebrici (con cui ho abbastanza familiarità) Tipi di dati algebrici generalizzati (cosa li rende generalizzati?) Tipi induttivi (ad es. Coq) (Soprattutto tipi induttivi.) Grazie.
Coq, Agda e Idris hanno una gerarchia di tipi infinita (Tipo 1: Tipo 2: Tipo 3: ...). Ma perché non farlo invece come λC, il sistema nel cubo lambda più vicino al calcolo delle costruzioni, che ha solo due tipi, e , e queste regole?∗∗*◽◽◽ ∅⊢∗:◽∅⊢∗:◽\frac {} {∅ ⊢ * …
Immagina, abbiamo definito i numeri naturali nel calcolo lambda tipicamente dipendente come numeri della Chiesa. Potrebbero essere definiti nel modo seguente: SimpleNat = (R : Set) → R → (R → R) → R zero : SimpleNat zero = λ R z _ → z suc : SimpleNat → SimpleNat …
π 1 : A × B → A π 2 : A × B → BA × B ≜ ∀ α .( A → B → α ) → αUN×B≜∀α.(UN→B→α)→α A \times B \triangleq \forall\alpha.\; (A \to B \to \alpha) \to \alpha π1: A × B → Aπ1:UN×B→UN\pi_1 : A …
Per i sistemi senza tipi dipendenti, come il sistema di tipo Hindley-Milner, i tipi corrispondono alle formule della logica intuizionistica. Ci sappiamo che i suoi modelli sono algebre Heyting, e in particolare, per confutare una formula, possiamo limitare ad uno algebra Heyting dove ogni formula è rappresentato da un aperto …
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 …
È vero che l'aggiunta di assiomi al CIC potrebbe avere influenze negative nel contenuto computazionale di definizioni e teoremi? Capisco che, nel comportamento normale della teoria, qualsiasi termine di chiusura ridurrà alla sua forma normale canonica, ad esempio, se è vero, allora n deve ridurre al termine della forma ( …
È noto che la proprietà Church-Rosser vale per la riduzione nel calcolo lambda tipizzato in modo semplice. Ciò implica che il calcolo è coerente, nel senso che non tutte le equazioni che coinvolgono gli λ sono derivabili: ad esempio, K ≠ I , poiché non condividono la stessa forma normale.βηβη\beta …
Sono interessato alla modellazione di oggetti, dalla programmazione orientata agli oggetti, alla teoria dei tipi dipendenti. Come possibile applicazione, vorrei avere un modello in cui posso descrivere diverse caratteristiche dei linguaggi di programmazione imperativa. Ho trovato un solo documento sulla modellazione di oggetti nella teoria dei tipi dipendenti, ovvero: Programmazione …
Sto sperimentando sistemi di tipo puro nel cubo lambda di Barendregt, in particolare con il più potente, il Calculus of Constructions. Questo sistema ha specie *e BOX. Per la cronaca, di seguito sto usando la sintassi concreta dello Mortestrumento https://github.com/Gabriel439/Haskell-Morte-Library che è vicino al classico calcolo lambda. Vedo che possiamo …
Ho imparato qualcosa sull'implementazione di tipi dipendenti, come questo tutorial , ma la maggior parte di essi sta implementando interpreti. La mia domanda è, sembra che l'implementazione di un compilatore per il tipo dipendente sia molto più difficile di un compilatore, perché puoi davvero valutare gli argomenti del tipo dipendente …
Mi chiedo se qualcuno possa darmi l'intuizione dietro perché la rigida positività dei tipi di dati induttivi garantisce una forte normalizzazione. Per essere chiari, vedo come avere eventi negativi porti a divergenze, cioè definendo: data X where Intro : (X->X) -> X possiamo scrivere una funzione divergente. Ma mi chiedo, …
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.