Nils Anders Danielsson
YOU?
Author Swipe
View article: A Graded Modal Dependent Type Theory with a Universe and Erasure, Formalized
A Graded Modal Dependent Type Theory with a Universe and Erasure, Formalized Open
We present a graded modal type theory, a dependent type theory with grades that can be used to enforce various properties of the code. The theory has Π-types, weak and strong Σ-types, natural numbers, an empty type, and a universe, and we …
View article: Practical dependent type checking using twin types
Practical dependent type checking using twin types Open
People writing proofs or programs in dependently typed languages can omit some function arguments in order to decrease the code size and improve readability. Type checking such a program involves filling in each of these implicit arguments…
View article: Higher Inductive Type Eliminators Without Paths
Higher Inductive Type Eliminators Without Paths Open
Cubical Agda has support for higher inductive types. Paths are integral to the working of this feature. However, there are other notions of equality. For instance, Cubical Agda comes with an identity type family for which the J rule comput…
View article: Termination Checking in the Presence of Nested Inductive and Coinductive Types
Termination Checking in the Presence of Nested Inductive and Coinductive Types Open
In the dependently typed functional programming language Agda one can easily mix induction and coinduction. The implementation of the termination/productivity checker is based on a simple extension of a termination checker for a language w…
View article: Beating the Productivity Checker Using Embedded Languages
Beating the Productivity Checker Using Embedded Languages Open
Some total languages, like Agda and Coq, allow the use of guarded corecursion to construct infinite values and proofs. Guarded corecursion is a form of recursion in which arbitrary recursive calls are allowed, as long as they are guarded b…
View article: Up-to techniques using sized types
Up-to techniques using sized types Open
Up-to techniques are used to make it easier—or feasible—to construct, for instance, proofs of bisimilarity. This text shows how many up-to techniques can be framed as size-preserving functions , using sized types to keep track of sizes. Th…
View article: Partiality, Revisited: The Partiality Monad as a Quotient Inductive-Inductive Type
Partiality, Revisited: The Partiality Monad as a Quotient Inductive-Inductive Type Open
Capretta's delay monad can be used to model partial computations, but it has the "wrong" notion of built-in equality, strong bisimilarity. An alternative is to quotient the delay monad by the "right" notion of equality, weak bisimilarity. …