Combining testing and proving in dependent type theory
Paper in proceedings, 2003

We extend the proof assistant Agda/Alfa for dependent type theory with a modified version of Claessen and Hughes' tool QuickCheck for random testing of functional programs. In this way we combine testing and proving in one system. Testing is used for debugging programs and specifications before a proof is attempted. Furthermore, we demonstrate by example how testing can be used repeatedly during proof for testing suitable subgoals. Our tool uses testdata generators which are defined inside Agda/Alfa. We can therefore use the type system to prove properties about them, in particular surjectivity stating that all possible test cases can indeed be generated.

Author

Peter Dybjer

Chalmers, Department of Computing Science, Programming Logic

Haiyan Qiao

Chalmers, Department of Computing Science, Programming Logic

Makoto Takeyama

Chalmers, Department of Computing Science, Programming Logic

Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)

03029743 (ISSN) 16113349 (eISSN)

Vol. 2758 188-203

Subject Categories

Other Mathematics

DOI

10.1007/10930755_12

ISBN

3-540-40664-6

More information

Created

10/7/2017