@maximedenes maximedenes released this Mar 19, 2018

Assets 7

Coq version 8.8 contains the result of refinements and stabilization of features and deprecations, cleanups of the internals of the system along with a few new features.

Summary of changes

  • Kernel: fix a subject reduction failure due to allowing fixpoints on non-recursive values (#407), by Matthieu Sozeau. Handling of evars in the VM (#935) by Pierre-Marie Pédrot.

  • Notations: many improvements on recursive notations and support for destructuring patterns in the syntax of notations by Hugo Herbelin.

  • Proof language: tacticals for profiling, timing and checking success or failure of tactics by Jason Gross. The focusing bracket { supports single-numbered goal selectors, e.g. 2:{, (#6551) by Théo Zimmermann.

  • Vernacular: cleanup of definition commands (#6653) by Vincent Laporte and more uniform handling of the Local flag (#1049), by Maxime Dénès. Experimental Show Extraction command (#6926) by Pierre Letouzey. Coercion now accepts Prop or Type as a source (#6480) by Arthur Charguéraud. Export modifier for options allowing to export the option to modules that Import and not only Require a module (#6923), by Pierre-Marie Pédrot.

  • Universes: many user-level and API level enhancements: qualified naming and printing, variance annotations for cumulative inductive types, more general constraints and enhancements of the minimization heuristics, interaction with modules by Gaëtan Gilbert, Pierre-Marie Pédrot and Matthieu Sozeau.

  • Library: Decimal Numbers library (#6599) by Pierre Letouzey and various small improvements.

  • Documentation: a new documentation infrastructure based on Sphinx (#6818), by Clément Pit-Claudel. The migration of the existing documentation content was made possible by a large community effort. The integration of the result is still ongoing. The current status can be seen online and will be updated as we integrate new chapters. All contributors to the porting effort will be credited once the integration is done (before the 8.8.0 release).

  • Tools: experimental -mangle-names option to coqtop/coqc for linting proof scripts (#6582), by Jasper Hugunin.

On the implementation side, the dev/doc/ file documents the numerous changes to the implementation and improvements of interfaces. The file provides guidelines on porting a plugin to the new version.

More information can be found in the CHANGES file. Feedback and bug reports are extremely welcome.


Installers for Windows 32 bits (i686), Windows 64 bits (x86_64) and macOS are available. They come bundled with CoqIDE.

Complete sources of the files installed by the Windows installers are made available, to comply with license requirements.