Abstract
We give evidence of the direct integration and automated checking of implicit induction-based proofs inside certified reasoning environments, as that provided by the Coq proof assistant. This is the first step of a long term project focused on 1) mechanically certifying implicit induction proofs generated by automated provers like Spike, and 2) narrowing the gap between automated and interactive proof techniques inside proof assistants such that multiple induction steps can be executed completely automatically and mutual induction can be treated more conveniently. Contrary to the current approaches of reconstructing implicit induction proofs into scripts based on explicit induction tactics that integrate the usual proof assistants, our checking methodology is simpler and fits better for automation. The underlying implicit induction principles are separated and validated independently from the proof scripts that consist in a bunch of one-to-one translations of implicit induction proof steps. The translated steps can be checked independently, too, so the validation process fits well for parallelisation and for the management of large proof scripts. Moreover, our approach is more general; any kind of implicit induction proof can be considered because the limitations imposed by the proof reconstruction techniques no longer exist. An implementation that integrates automatic translators for generating fully checkable Coq scripts from Spike proofs is reported.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Baader, F., Nipkow, T.: Term Rewriting and All That. Cambridge University Press, Cambridge (1998)
Barthe, G., Courtieu, P.: Efficient reasoning about executable specifications in Coq. In: Theorem Proving in Higher Order Logics, p. 64 (2002)
Barthe, G., Stratulat, S.: Validation of the JavaCard platform with implicit induction techniques. In: Nieuwenhuis, R. (ed.) RTA 2003. LNCS, vol. 2706, pp. 337–351. Springer, Heidelberg (2003)
Bonichon, R., Delahaye, D., Doligez, D.: Zenon: An extensible automated theorem prover producing checkable proofs. In: Dershowitz, N., Voronkov, A. (eds.) LPAR 2007. LNCS (LNAI), vol. 4790, pp. 151–165. Springer, Heidelberg (2007)
Bouhoula, A., Rusinowitch, M.: Implicit induction in conditional theories. Journal of Automated Reasoning 14(2), 189–235 (1995)
Brotherston, J.: Sequent Calculus Proof Systems for Inductive Definitions. PhD thesis, University of Edinburgh (November 2006)
Bundy, A., van Harmelen, F., Horn, C., Smaill, A.: The Oyster-Clam system. In: Stickel, M.E. (ed.) CADE 1990. LNCS, vol. 449, pp. 647–648. Springer, Heidelberg (1990)
Contejean, E., Courtieu, P., Forest, J., Pons, O., Urbain, X.: Certification of automated termination proofs. In: Frontiers of Combining Systems, pp. 148–162 (2007)
Courant, J.: Proof reconstruction. Research Report RR96-26, LIP, Preliminary version (1996)
Dixon, L.: A Proof Planning Framework for Isabelle. PhD thesis, University of Edinburgh (2005)
Imine, A., Rusinowitch, M., Oster, G., Molli, P.: Formal design and verification of operational transformation algorithms for copies convergence. Theoretical Computer Science 351(2), 167–183 (2006)
Kaliszyk, C.: Validation des preuves par récurrence implicite avec des outils basés sur le calcul des constructions inductives. Master’s thesis, Université Paul Verlaine - Metz (2005)
Klein, G., Andronick, J., Elphinstone, K., Heiser, G., Cock, D., Derrin, P., Elkaduwe, D., Engelhardt, K., Kolanski, R., Norrish, M., Sewell, T., Tuch, H., Winwood, S.: seL4: Formal verification of an operating-system kernel. Communications of the ACM 53(6), 107–115 (2010)
Lindblad, F., Benke, M.: A tool for automated theorem proving in Agda. In: Filliâtre, J.-C., Paulin-Mohring, C., Werner, B. (eds.) TYPES 2004. LNCS, vol. 3839, pp. 154–169. Springer, Heidelberg (2006)
Nahon, F., Kirchner, C., Kirchner, H., Brauner, P.: Inductive proof search modulo. Annals of Mathematics and Artificial Intelligence 55(1-2), 123–154 (2009)
Pientka, B., Kreitz, C.: Automating inductive specification proofs in NuPrL. Fundamenta Informaticae 1(2), 182–209 (1998)
The Spike prover, http://code.google.com/p/spike-prover
Rouached, M., Godart, C.: Reasoning about events to specify authorization policies for web services composition. In: ICWS, IEEE International Conference on Web Services, pp. 481–488. IEEE Computer Society, Los Alamitos (2007)
Rusinowitch, M., Stratulat, S., Klay, F.: Mechanical verification of an ideal incremental ABR conformance algorithm. J. Autom. Reasoning 30(2), 53–177 (2003)
Stratulat, S.: A general framework to build contextual cover set induction provers. J. Symb. Comput. 32(4), 403–445 (2001)
Stratulat, S.: Automatic ‘Descente Infinie’ induction reasoning. In: Beckert, B. (ed.) TABLEAUX 2005. LNCS (LNAI), vol. 3702, pp. 262–276. Springer, Heidelberg (2005)
Stratulat, S.: Combining rewriting with Noetherian induction to reason on non-orientable equalities. In: Voronkov, A. (ed.) RTA 2008. LNCS, vol. 5117, pp. 351–365. Springer, Heidelberg (2008)
Stratulat, S., Demange, V.: Validating implicit induction proofs using certified proof environments. In: Poster Session of 2010 Grande Region Security and Reliability Day, Saarbrucken (March 2010)
The Coq Development Team. The Coq reference manual - version 8.2 (2009), http://coq.inria.fr/doc
Wilson, S., Fleuriot, J., Smaill, A.: Inductive proof automation for Coq. In: Coq Workshop (to appear 2010)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2010 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Stratulat, S. (2010). Integrating Implicit Induction Proofs into Certified Proof Environments. In: Méry, D., Merz, S. (eds) Integrated Formal Methods. IFM 2010. Lecture Notes in Computer Science, vol 6396. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-16265-7_23
Download citation
DOI: https://doi.org/10.1007/978-3-642-16265-7_23
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-16264-0
Online ISBN: 978-3-642-16265-7
eBook Packages: Computer ScienceComputer Science (R0)