We present a core programming language that supports writing well-founded structurally recursive functions using simultaneous pattern matching on contextual LF objects and contexts. The main technical tool is a coverage checking algorithm that also generates valid recursive calls. To establish consistency, we define a call-by-value small-step semantics and prove that every well-typed program terminates using a reducibility semantics. Based on the presented methodology we have implemented a totality checker as part of the programming and proof environment Beluga where it can be used to establish that a total Beluga program corresponds to a proof
We present the foundations of a verifier for higher-order functional programs with generics and recu...
International audienceIn call-by-value languages, some mutually-recursive definitions can be safely ...
Thesis (M.S.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer S...
We present a core programming language that supports writing well-founded structurally recur-sive fu...
Abstract—A core programming language is presented that allows structural recursion over open LF obje...
Abstract. The logical framework LF supports elegant encodings of for-mal systems using higher-order ...
International audienceThis paper formalizes and proves correct a compilation scheme for mutually-rec...
Accepted paper to FSTTCS'13We study a model for recursive functional programs called, higher order r...
We study the problem of proving termination of open, higher-order programs with recursive functions ...
Recursive functions defined on a coalgebraic datatype C may not \n converge if there are cycles in...
Recursion is a well-known and powerful programming technique, with a wide variety of applications. ...
Three studies in the machine assisted proof of recursion implementation are described. The verifica...
When doing an interactive proof about a piece of software, it is important that the underlying progr...
Dependently typed programming languages provide a mechanism for integrating verification and program...
Higher-order recursion schemes are a powerful model of functional computation that grew out of tradi...
We present the foundations of a verifier for higher-order functional programs with generics and recu...
International audienceIn call-by-value languages, some mutually-recursive definitions can be safely ...
Thesis (M.S.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer S...
We present a core programming language that supports writing well-founded structurally recur-sive fu...
Abstract—A core programming language is presented that allows structural recursion over open LF obje...
Abstract. The logical framework LF supports elegant encodings of for-mal systems using higher-order ...
International audienceThis paper formalizes and proves correct a compilation scheme for mutually-rec...
Accepted paper to FSTTCS'13We study a model for recursive functional programs called, higher order r...
We study the problem of proving termination of open, higher-order programs with recursive functions ...
Recursive functions defined on a coalgebraic datatype C may not \n converge if there are cycles in...
Recursion is a well-known and powerful programming technique, with a wide variety of applications. ...
Three studies in the machine assisted proof of recursion implementation are described. The verifica...
When doing an interactive proof about a piece of software, it is important that the underlying progr...
Dependently typed programming languages provide a mechanism for integrating verification and program...
Higher-order recursion schemes are a powerful model of functional computation that grew out of tradi...
We present the foundations of a verifier for higher-order functional programs with generics and recu...
International audienceIn call-by-value languages, some mutually-recursive definitions can be safely ...
Thesis (M.S.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer S...