Combining Interactive and Automatic Reasoning in First Order Theories of Functional Programs
Paper i proceeding, 2012

We propose a new approach to the computer-assisted verification of functional programs. We work in first order theories of functional programs which are obtained by extending Aczel's first order theory of combinatory formal arithmetic with positive inductive and coinductive predicates. Rather than building a special purpose system we implement our theories in Agda, a proof assistant for dependent type theory which can be used as a generic theorem prover. Agda provides support for interactive reasoning by encoding first order theories using the formulae-as-types principle. Further support is provided by off-the-shelf automatic theorem provers for first order logic which can be called by a program which translates Agda representations of first order formulae into the TPTP language understood by the provers. We show some examples where we combine interactive and automatic reasoning, covering both proof by induction and coinduction.


Ana Bove

Chalmers, Data- och informationsteknik, Datavetenskap

Peter Dybjer

Chalmers, Data- och informationsteknik, Datavetenskap

Andrés Sicard-Ramírez

Universidad EAFIT

Lecture Notes in Computer Science

0302-9743 (ISSN)

Vol. 7213 104-118


Datavetenskap (datalogi)