Programming with dependent types using small inversions

报告题目:Programming with dependent types using small inversions

报告人:Jean-Francois Monin

主持人: 陈仪香 教授

时间:2016年3月25日周五 10:00—11:30

地点:中北校区数学馆201

报告摘要:

    Dependent types are a convenient way to describe and program on constrained data-structures. Common examples include lists having a given length, ordered binary trees, typed lambda-terms or expressions, and data packets exchanged in communication protocols.  By inserting assertions in the type itself, the programmer has no way to produce undesired or unsafe values. The main programming languages with this feature are functional languages such as Cayenne, Idris, Epigram, or even Ocaml to a limited extent, and of course the programming language of Coq or of similar type-theoretic proof assistants. Recent research work consider applications for depend types to low-level programming as well.

    However, such types are technically more complex to handle and to reason about. In this talk we focus on inductively defined dependent types.

    Getting sub-structures of a given data is similar to inverting an inductively defined relation, such as SOS semantics rules.

    We show that our handcrafted small inversions technique naturally generalizes to dependent data-types, providing concise and elegant programming schemes.

报告人简介:

    Jean-François Monin is the European Director of Sino-European Lab LIAMA and has been a professor of Computer Science at University Joseph Fourier (now University Grenoble Alpes) since 2003.  From 2009 to 2013 he has been awarded a CNRS research grant in LIAMA and at Tsinghua University.  His main research interests are about formal methods.  He wrote a synthesis book on this topic, after successfully proving the correctness properties of software devices in an industrial framework. He has a long experience with the Coq type-theoretic proof assistant, with applications on distributed algorithms, security issues and embedded software.


©2016 华东师范大学高可信计算重点实验室