jsCoq: New Interfaces for Interactive Theorem Proving

jsCoq: New Interfaces for Interactive
Theorem Proving
Internship proposal
École de Mines de Paris — MINES ParisTech
The jsCoq [2] project is a port of the Coq proof assistant to the web browser platform.
jsCoq allows to write web pages with embedded proof scripts, opening up significant new
possibilities of interaction and distribution. We propose two main lines of work:
Coq Backend the SerAPI [1] protocol is an new protocol for machine-based interaction
with Coq, used in jsCoq, PeaCoq, and experimentally by CoqIDE. We propose to
extend the protocol in two ways: a) improve the control protocol to better suit
document-oriented environments such as Emacs or the Web DOM; b) improve the
query subprotocol, which powers code completion, display, and proof analysis tools.
Web Frontend we propose to integrate the frontend with IPython’s1 web libraries, to
improve integration with documentation generation tools, and to improve search,
pattern, type, and goal display.
We are open to other ideas. All our projects are open source and available at github.
Desirable Requisites: Basic familiarity with Coq and proof workflow. Particular
requisites for each part are:
Coq Backend Fluency in Ocaml is recommended.
Web Frontend Fluency in JavaScript and UI web libraries is recommended.
Contact: Emilio J. Gallego Arias [email protected], Pierre Jouvelot [email protected]
References
[1] E. J. Gallego Arias. “SerAPI: Machine-Friendly, Data-Centric Serialization for COQ”.
working paper or preprint. Oct. 2016.
[2] E. J. Gallego Arias, B. Pin, and P. Jouvelot. “jsCoq: towards hybrid theorem proving
interfaces”. In: Proceedings of the 12th Workshop on User Interfaces for Theorem
Provers. 2016.
1
recently renamed to Jupyter Notebook