Combining testing and proving in dependent type theory
Paper i proceeding, 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.

Författare

Peter Dybjer

Chalmers, Institutionen för datavetenskap, Programmeringslogik

Haiyan Qiao

Chalmers, Institutionen för datavetenskap, Programmeringslogik

Makoto Takeyama

Chalmers, Institutionen för datavetenskap, Programmeringslogik

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
3-540-40664-6 (ISBN)

Ämneskategorier

Annan matematik

DOI

10.1007/10930755_12

ISBN

3-540-40664-6

Mer information

Skapat

2017-10-07