2021-03-262012-01-010302974316113349WOS;000342756900007SCOPUS;2-s2.0-84859133078http://hdl.handle.net/10784/27408We 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. © 2012 Springer-Verlag Berlin Heidelberg.enghttps://v2.sherpa.ac.uk/id/publication/issn/0302-9743Combining interactive and automatic reasoning in first order theories of functional programsinfo:eu-repo/semantics/conferencePaperAutomatic reasoningCoinductionComputer-assisted verificationDependent type theoryFirst orderFirst order logicFirst order theoriesFunctional programsInteractive reasoningProof assistantTheorem proversAutomatic reasoningComputer-assisted verificationDependent type theoryFirst order logicFirst order theoriesFunctional programsInteractive reasoningTheorem proversArtificial intelligenceFormal logicOpen systemsTheorem provingOpen systemsComputation theory2021-03-26Bove, A.Dybjer, P.Sicard-Ramírez, A.10.1007/978-3-642-28729-9_7