Theory Exploration for Programs and Proofs
Licentiate thesis, 2022

We have built two theory exploration systems, Cohipster and RoughSpec. Theory exploration is a method of automatically conjecturing properties about the functions and structures that appear in a computer program or a formalization of a mathematical theory.

Cohipster is a theory exploration system that discovers equational lemmas about corecursive functions in Isabelle/HOL and automatically searches for coinductive proofs for them. Coinduction and corecursion are the mathematical duals of induction and recursion and allow the specification of potentially infinite structures such as streams, and functions that operate on such structures. Cohipster is the first system to automatically discover and prove coinductive lemmas, and its design required the development of techniques for testing infinite structures as well as for automating coinductive proofs.

RoughSpec is a template-based theory exploration system for Haskell programs. RoughSpec allows users to specify what kinds of properties they are interested in finding by using templates. A template is an expression describing a family of properties, such as distributivity or commutativity, that have a particular shape. Limiting the search space to specific shapes of properties makes theory exploration more targeted and tractable than previous methods.

Theorem Proving

Automated Reasoning

Theory Exploration

Property-Based Testing

Functional Programming

Conjecture Generation

Artificial Intelligence


EB, EDIT building, Rännvägen 6B, Chalmers. Also on Zoom with password 201230.
Opponent: Cezary Kaliszyk, University of Innsbruck, Austria


Sólrún Einarsdóttir

Chalmers, Computer Science and Engineering (Chalmers), Formal methods

Into the infinite - theory exploration for coinduction

Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics),; Vol. 11110 LNAI(2018)p. 70-86

Paper in proceeding

Template-based Theory Exploration: Discovering Properties of Functional Programs by Testing

ACM International Conference Proceeding Series,; (2020)p. 67-78

Paper in proceeding

Subject Categories

Computer and Information Science



EB, EDIT building, Rännvägen 6B, Chalmers. Also on Zoom with password 201230.


Opponent: Cezary Kaliszyk, University of Innsbruck, Austria

More information

Latest update