Sequential decision problems, dependent types and generic solutions
Journal article, 2017

We present a computer-checked generic implementation for solving finite-horizon sequential decision problems. This is a wide class of problems, including inter-temporal optimizations, knapsack, optimal bracketing, scheduling, etc. The implementation can handle time-step dependent control and state spaces, and monadic representations of uncertainty (such as stochastic, non-deterministic, fuzzy, or combinations thereof). This level of genericity is achievable in a programming language with dependent types (we have used both Idris and Agda). Dependent types are also the means that allow us to obtain a formalization and computer-checked proof of the central component of our implementation: Bellman's principle of optimality and the associated backwards induction algorithm. The formalization clarifies certain aspects of backwards induction and, by making explicit notions such as viability and reachability, can serve as a starting point for a theory of controllability of monadic dynamical systems, commonly encountered in, e.g., climate impact research.


Nicola Botta

Potsdam Institute for Climate Impact Research

Patrik Jansson

University of Gothenburg

Functional Programming

Cezar Ionescu

Functional Programming

University of Gothenburg

David R. Christiansen

Indiana University

Edwin Brady

University of St Andrews

Logical Methods in Computer Science

1860-5974 (ISSN)

Vol. 13 1

Areas of Advance

Information and Communication Technology

Driving Forces

Sustainable development

Subject Categories

Computer and Information Science

Computer Science


Basic sciences