How to Get More Out of Your Oracles

  • Luís Cruz-Filipe
  • Kim S. Larsen
  • Peter Schneider-Kamp
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10499)


Formal verification of large computer-generated proofs often relies on certified checkers based on oracles. We propose a methodology for such proofs, advocating a separation of concerns between formalizing the underlying theory and optimizing the algorithm implemented in the checker, based on the observation that such optimizations can benefit significantly from adequately adapting the oracle.



We would like to thank Pierre Letouzey for his suggestions and help with making our extracted code more efficient.

The authors were supported by the Danish Council for Independent Research, Natural Sciences, grant DFF-1323-00247, and by the Open Data Experimentarium at the University of Southern Denmark. Computational resources were generously provided by the Danish Center for Scientific Computing.


  1. 1.
    Bertot, Y., Castéran, P.: Interactive Theorem Proving and Program Development. Texts in Theoretical Computer Science. Springer, Heidelberg (2004)CrossRefzbMATHGoogle Scholar
  2. 2.
    Blanqui, F., Koprowski, A.: CoLoR: a Coq library on well-founded rewrite relations and its application to the automated verification of termination certificates. Math. Struct. Comp. Sci. 21, 827–859 (2011)MathSciNetCrossRefzbMATHGoogle Scholar
  3. 3.
    Blazy, S., Paulin-Mohring, C., Pichardie, D. (eds.): ITP 2013. LNCS, vol. 7998. Springer, Heidelberg (2013)zbMATHGoogle Scholar
  4. 4.
    Claret, G., González-Huesca, L., Régis-Gianas, Y., Ziliani, B.: Lightweight proof by reflection using a posteriori simulation of effectful computation. In: Blazy et al. [3], pp. 67–83Google Scholar
  5. 5.
    Codish, M., Cruz-Filipe, L., Frank, M., Schneider-Kamp, P.: Sorting nine inputs requires twenty-five comparisons. J. Comput. Syst. Sci. 82(3), 551–563 (2016)MathSciNetCrossRefzbMATHGoogle Scholar
  6. 6.
    Cruz-Filipe, L., Larsen, K.S., Schneider-Kamp, P.: Formally proving size optimality of sorting networks. J. Autom. Reason. Accepted for publication. doi: 10.1007/s10817-017-9405-9
  7. 7.
    Cruz-Filipe, L., Marques-Silva, J., Schneider-Kamp, P.: Efficient certified resolution proof checking. In: Legay, A., Margaria, T. (eds.) TACAS 2017. LNCS, vol. 10205, pp. 118–135. Springer, Heidelberg (2017). doi: 10.1007/978-3-662-54577-5_7 CrossRefGoogle Scholar
  8. 8.
    Cruz-Filipe, L., Schneider-Kamp, P.: Formally proving the boolean triples conjecture. In: Eiter, T., Sands, D. (eds.) LPAR-21. EPiC Series in Computing, vol. 46, pp. 509–522. EasyChair Publications (2017)Google Scholar
  9. 9.
    Cruz-Filipe, L., Wiedijk, F.: Hierarchical reflection. In: Slind, K., Bunker, A., Gopalakrishnan, G. (eds.) TPHOLs 2004. LNCS, vol. 3223, pp. 66–81. Springer, Heidelberg (2004). doi: 10.1007/978-3-540-30142-4_5 CrossRefGoogle Scholar
  10. 10.
    Darbari, A., Fischer, B., Marques-Silva, J.: Industrial-strength certified SAT solving through verified SAT proof checking. In: Cavalcanti, A., Deharbe, D., Gaudel, M.-C., Woodcock, J. (eds.) ICTAC 2010. LNCS, vol. 6255, pp. 260–274. Springer, Heidelberg (2010). doi: 10.1007/978-3-642-14808-8_18 CrossRefGoogle Scholar
  11. 11.
    Fouilhé, A., Monniaux, D., Périn, M.: Efficient generation of correctness certificates for the abstract domain of polyhedra. In: Logozzo, F., Fähndrich, M. (eds.) SAS 2013. LNCS, vol. 7935, pp. 345–365. Springer, Heidelberg (2013). doi: 10.1007/978-3-642-38856-9_19 CrossRefGoogle Scholar
  12. 12.
    Heule, M.J.H., Kullmann, O., Marek, V.W.: Solving and verifying the boolean pythagorean triples problem via cube-and-conquer. In: Creignou, N., Le Berre, D. (eds.) SAT 2016. LNCS, vol. 9710, pp. 228–245. Springer, Cham (2016). doi: 10.1007/978-3-319-40970-2_15 Google Scholar
  13. 13.
    Konev, B., Lisitsa, A.: A SAT attack on the Erdős discrepancy conjecture. In: Sinz, C., Egly, U. (eds.) SAT 2014. LNCS, vol. 8561, pp. 219–226. Springer, Cham (2014). doi: 10.1007/978-3-319-09284-3_17 Google Scholar
  14. 14.
    Leroy, X.: Formal verification of a realistic compiler. Commun. ACM 52(7), 107–115 (2009)CrossRefGoogle Scholar
  15. 15.
    Sternagel, C., Thiemann, R.: The certification problem format. In: Benzmüller, C., Paleo, B. (eds.) UITP, EPTCS, vol. 167, pp. 61–72 (2014)Google Scholar
  16. 16.
    Wetzler, N.D., Heule, M.J.H., Hunt Jr., W.A.: Mechanical verification of SAT refutations with extended resolution. In: Blazy et al. [3], pp. 229–244Google Scholar

Copyright information

© Springer International Publishing AG 2017

Authors and Affiliations

  • Luís Cruz-Filipe
    • 1
  • Kim S. Larsen
    • 1
  • Peter Schneider-Kamp
    • 1
  1. 1.Department Mathematics and Computer ScienceUniversity Southern DenmarkOdense MDenmark

Personalised recommendations