The days of verifying only toy programs are long gone. The last two decades have marked a new era of verification at scale, bringing strong guarantees to large and critical systems—an …
A Kovács - Proceedings of the ACM on Programming Languages, 2022 - dl.acm.org
The aim of staged compilation is to enable metaprogramming in a way such that we have guarantees about the well-formedness of code output, and we can also mix together object …
Specifying and mechanically verifying type safe programming languages requires significant effort. This effort can in theory be reduced by defining and reusing pre-verified, modular …
We extend proof automation in an interactive theorem prover to analyze changes in specifications and proofs. Our approach leverages the history of changes to specifications …
A Kovács - arXiv preprint arXiv:2302.08837, 2023 - arxiv.org
We develop the usage of certain type theories as specification languages for algebraic theories and inductive types. We observe that the expressive power of dependent type …
T Ringer, N Yazdani, J Leo… - … Conference on Interactive …, 2019 - drops.dagstuhl.de
Ornaments express relations between inductive types with the same inductive structure. We implement fully automatic proof reuse for a particular class of ornaments in a Coq plugin …
L O'Connor - Proceedings of the 4th ACM SIGPLAN International …, 2019 - dl.acm.org
A commonly-used technique in dependently-typed programming is to encode invariants about a data structure into its type, thus ensuring that the data structure is correct by …
K Jacobs, A Nuyts, D Devriese - Proceedings of the 4th ACM SIGPLAN …, 2019 - dl.acm.org
Dependently-typed languages are great for stating and proving properties of pure functions. We can reason about them modularly (state and prove their properties independently of …
Ornaments provide a way to express transformations of inductive datatypes that reorganize, specialize, and add fields to already existing datatypes. From such a transformation, we …