• Aucun résultat trouvé

Lightweight Verification with Dependent Types

N/A
N/A
Protected

Academic year: 2022

Partager "Lightweight Verification with Dependent Types"

Copied!
1
0
0

Texte intégral

(1)

Lightweight Verification with Dependent Types

Aaron Stump

Computer Science and Engineering Dept.

Washington University in St. Louis

Abstract

Dependent types, studied for many years in Logic, have recently been gaining attention in Functional Programming Languages for expressing rich properties as types. A simple example is a typehlist A ni, for lists of lengthn holding objects of type A. A more complex example is htrm G Ti, for terms in some object language which have object-language type T in context G. Dependently typed programming languages seek to support static verification of code manipulating such data types, by statically enforcing the constraints the data types impose.

The verification is lightweight in the sense that the aim is typically to verify preservation of datatype properties, rather than full functional specifications of programs.

This talk will explore dependently typed programming in the context of Guru, a new dependently typed programming language under development at Washington University in St. Louis. Guru lifts the restriction to terminating programs which is commonly required by dependently typed programming lan- guages (such as Coq, Epigram, and ATS, to name just a few). This is done by the novel technical feature of strictly separating program terms from proofs, and types from formulas, thus going counter to the commonly used Curry-Howard isomorphism. We will consider dependently typed programming in Guru via sev- eral examples: tree operations which are statically verified to preserve the binary search tree property, and compilation of simply typed object programs which is statically verified to preserve the programs’ object-language type.

Références

Documents relatifs

This research compares the author’s experience in program- ming algebra in Haskell and in Agda (currently the former experience is large, and the latter is small). There are

In this talk, I assume that constraints are built on top of equations, so as to remain in the spirit of Hindley and Milner’s type system.. The second motive vanishes; the first

Another dependently typed core language, that of Epigram (Chapman et al. 2006), is basically a framework for implementing a total type theory, based on elimina- tion

System D <: initially emerged as a generalization of F <: , mapping type lamb- das to term lambdas and type parameters to type tags, and removing certain restrictions in

The Effects DSL makes essential use of dependent types, firstly to verify that a specific effect is available to an effectful program using simple automated theorem proving,

While in the waterfall model all data gathered is processed in a sequential way for all modules, in the Luo and Kay model data from the sensors are incre- mentally added on

Works with GMP (Gnu Multiprecision library) and GNU C Library. There is a verification of SAT. The input format is limited to the libraries that it uses as the input format. It

E is an algebraic bundle for ^ , with the cofinite subsets as rational éléments, and has as sup-computable éléments (i. e., computable for this bundle) ail subsets s r^J