Sequential decision problems, dependently-typed solutions
نویسندگان
چکیده
We propose a dependently typed formalization for a simple class of sequential decision problems. For this class of problems, we implement a generic version of Bellman’s backwards induction algorithm [2] and a machine checkable proof that the proposed implementation is correct. The formalization is generic. It is presented in Idris, but it can be easily translated to other dependently-typed programming languages. We conclude with an informal discussion of the problems we have faced in extending the formalization to generic monadic sequential decision problems.
منابع مشابه
Generic Zero-Cost Reuse for Dependent Types
Dependently typed languages are well known for having a problemwith code reuse. Traditional non-indexed algebraic datatypes (e.g. lists) appear alongside a plethora of indexed variations (e.g. vectors). Functions are often rewritten for both non-indexed and indexed versions of essentially the same datatype, which is a source of code duplication. We work in a Curry-style dependent type theory, w...
متن کاملPractical implementation of a dependently typed functional programming language
Practical Implementation of a Dependently Typed Functional Programming Language Edwin C. Brady Types express a program’s meaning, and checking types ensures that a program has the intended meaning. In a dependently typed programming language types are predicated on values, leading to the possibility of expressing invariants of a program’s behaviour in its type. Dependent types allow us to give ...
متن کاملAbstract: Dependently Typed Programming with Domain-Specific Logics
Dependently Typed Programming with Domain-Specific Logics
متن کاملSimply Easy! An Implementation of a Dependently Typed Lambda Calculus
We present an implementation in Haskell of a dependently-typed lambda calculus that can be used as the core of a programming language. We show that a dependently-typed lambda calculus is no more difficult to implement than other typed lambda calculi. In fact, our implementation is almost as easy as an implementation of the simply typed lambda calculus, which we emphasize by discussing the modif...
متن کاملA Tutorial Implementation of a Dependently Typed Lambda Calculus
We present the type rules for a dependently typed core calculus together with a straightforward implementation in Haskell. We explicitly highlight the changes necessary to shift from a simply-typed lambda calculus to the dependently typed lambda calculus. We also describe how to extend our core language with data types and write several small example programs. The article is accompanied by an e...
متن کامل