Planning problems as types, plans as programs : a dependent types infrastructure for verification and reasoning about automated plans in Agda
Abstract
Historically, the Artificial Intelligence and programming language fields have had
a mutually beneficial relationship. Typically, theoretical results in the programming
language field have practical utility in the Artificial Intelligence field. One example
of this that has roots in both declarative languages and theorem proving is AI planning. In recent years, new programming languages have been developed that are
founded on dependent type theory. These languages are not only more expressive
than traditional programming languages but also have the ability to represent and
prove mathematical properties within the language. This thesis will explore how dependently typed languages can benefit the AI planning field. On one side this thesis
will show how AI planning languages can be enriched with more expressivity and
stronger verification guarantees. On the other, it will show that AI planning is an
ideal field to illustrate the practical utility of largely theoretical aspects of programming language theory. This thesis will accomplish this by implementing multiple
inference systems for plan validation in the dependently-typed programming language Agda. Importantly, these inference systems will be automated, and embody
the Curry-Howard correspondence where plans will not only be proof-terms but
also executable functions. This thesis will then show how the dependently-typed
implementations of the inference systems can be further utilised to add enriched
constraints over plan validation.