Asynchronous Processing of Coq Documents: From the Kernel up to the User Interface

Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9236)

Abstract

The work described in this paper improves the reactivity of the Coq system by completely redesigning the way it processes a formal document. By subdividing such work into independent tasks the system can give precedence to the ones of immediate interest for the user and postpone the others. On the user side, a modern interface based on the PIDE middleware aggregates and presents in a consistent way the output of the prover. Finally postponed tasks are processed exploiting modern, parallel, hardware to offer better scalability.

Keywords

Work Process Formal Document Garbage Collector Abstract Syntax Tree Parallel Hardware 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

References

  1. 1.
    Asperti, A., Ricciotti, W., Sacerdoti Coen, C., Tassi, E.: A compact kernel for the calculus of inductive constructions. Sadhana 34(1), 71–144 (2009)MATHMathSciNetCrossRefGoogle Scholar
  2. 2.
    Aspinall, D.: Proof general: a generic tool for proof development. In: Graf, S. (ed.) TACAS 2000. LNCS, vol. 1785, pp. 38–42. Springer, Heidelberg (2000) CrossRefGoogle Scholar
  3. 3.
    Bengtson, J., Mehnert, H., Faithfull, A.: Coqoon: eclipse plugin providing a feature-complete development environment for Coq (2015). Homepage: https://itu.dk/research/tomeso/coqoon/
  4. 4.
    Faithfull, A., Tankink, C., Bengtson, J.: Coqoon - an IDE for interactive proof development in Coq. Submitted to CAV 2015Google Scholar
  5. 5.
    Gonthier, G., et al.: A machine-checked proof of the odd order theorem. In: Blazy, S., Paulin-Mohring, C., Pichardie, D. (eds.) ITP 2013. LNCS, vol. 7998, pp. 163–179. Springer, Heidelberg (2013) CrossRefGoogle Scholar
  6. 6.
    Hayes, B.: Ephemerons: a new finalization mechanism. In: Proceedings of OOPSLA, pp. 176–183. ACM (1997)Google Scholar
  7. 7.
    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. Commun. ACM 53(6), 107–115 (2010)CrossRefGoogle Scholar
  8. 8.
    Leroy, X.: Formal verification of a realistic compiler. Commun. ACM 52(7), 107–115 (2009)CrossRefGoogle Scholar
  9. 9.
    Nipkow, T., Wenzel, M., Paulson, L.C.: Isabelle/HOL: A Proof Assistant for Higher-order Logic. Springer, Heidelberg (2002) CrossRefGoogle Scholar
  10. 10.
    Ring, M., Lüth, C.: Collaborative interactive theorem proving with clide. In: Klein, G., Gamboa, R. (eds.) ITP 2014. LNCS, vol. 8558, pp. 467–482. Springer, Heidelberg (2014) Google Scholar
  11. 11.
    Wenzel, M.: Parallel proof checking in Isabelle/Isar. In: Proceedings of PLMMS, pp. 13–21 (2009)Google Scholar
  12. 12.
    Wenzel, M.: Isabelle as document-oriented proof assistant. In: Davenport, J.H., Farmer, W.M., Urban, J., Rabe, F. (eds.) Calculemus/MKM 2011. LNCS, vol. 6824, pp. 244–259. Springer, Heidelberg (2011) CrossRefGoogle Scholar
  13. 13.
    Wenzel, M.: READ-EVAL-PRINT in parallel and asynchronous proof-checking. In: Proceedings of UITP. EPTCS, vol. 118, pp. 57–71 (2013)Google Scholar
  14. 14.
    Wenzel, M.: Asynchronous user interaction and tool integration in Isabelle/PIDE. In: Klein, G., Gamboa, R. (eds.) ITP 2014. LNCS, vol. 8558, pp. 515–530. Springer, Heidelberg (2014) Google Scholar

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

  1. 1.InriaParisFrance

Personalised recommendations