coq-8.11.1 version bump
Current Alpine version is 8.8.2, but the latest released Coq version is 8.11.1
Coq 8.11 changes
- Ltac2, a new tactic language for writing more robust larger scale tactics, with built-in support for datatypes and the multi-goal tactic monad.
-
Primitive floats are integrated in terms and follow the binary64 format of the IEEE 754 standard, as specified in the
Coq.Float.Floats
library. - Cleanups of the section mechanism, delayed proofs and further restrictions of template polymorphism to fix soundness issues related to universes.
- New unsafe flags to disable locally guard, positivity and universe checking. Reliance on these flags is always printed by Print Assumptions.
- Fixed bugs of
Export
andImport
that can have a significant impact on user developments (common source of incompatibility!). - New interactive development method based on
vos
interface files, allowing to work on a file without recompiling the proof parts of their dependencies. - New
Arguments
annotation for bidirectional type inference configuration for reference (e.g. constants, inductive) applications. - New refine attribute for
Instance
can be used instead of the removedRefine Instance
Mode. - Generalization of the under and over tactics of
SSReflect
to arbitrary relations. -
Revision of the
Coq.Reals
library, its axiomatisation and instances of the constructive and classical real numbers.
Coq 8.10 changes
- some quality-of-life bug fixes;
- a critical bug fix related to template polymorphism;
- native 63-bit machine integers;
- a new sort of definitionally proof-irrelevant propositions: SProp;
- private universes for opaque polymorphic constants;
- string notations and numeral notations;
- a new simplex-based proof engine for the tactics lia, nia, lra and nra;
- new introduction patterns for
SSReflect
; - a tactic to rewrite under binders: under;
- easy input of non-ASCII symbols in CoqIDE, which now uses GTK3.
Coq 8.9 changes
- Kernel: mutually recursive records are now supported, by Pierre-Marie Pédrot.
- Notations:
- Support for autonomous grammars of terms called "custom entries", by Hugo Herbelin.
- Deprecated notations of the standard library will be removed in the next version of Coq, see the CHANGES.md file for a script to ease porting, by Jason Gross and Jean-Christophe Léchenet.
- Added the Numeral Notation command for registering decimal numeral notations for custom types, by Daniel de Rauglaudre, Pierre Letouzey and Jason Gross.
- Tactics: Introduction tactics intro/intros on a goal that is an existential variable now force a refinement of the goal into a dependent product rather than failing, by Hugo Herbelin.
- Decision procedures: deprecation of tactic romega in favor of lia and removal of fourier, replaced by lra which subsumes it, by Frédéric Besson, Maxime Dénès, Vincent Laporte and Laurent Théry.
- Proof language: focusing bracket { now supports named goals, e.g. [x]:{ will focus on a goal (existential variable) named x, by Théo Zimmermann.
- SSReflect: the implementation of delayed clear was simplified by Enrico Tassi: the variables are always renamed using inaccessible names when the clear switch is processed and finally cleared at the end of the intro pattern. In addition to that, the use-and-discard flag {} typical of rewrite rules can now be also applied to views, e.g. => {}/v applies v and then clears v.
- Vernacular:
- Experimental support for attributes on commands, by Vincent Laporte, as in #[local] Lemma foo : bar. Tactics and tactic notations now support the deprecated attribute.
- Removed deprecated commands Arguments Scope and Implicit Arguments in favor of Arguments, with the help of Jasper Hugunin.
- New flag Uniform Inductive Parameters by Jasper Hugunin to avoid repeating uniform parameters in constructor declarations.
- New commands Hint Variables and Hint Constants, by Matthieu Sozeau, for controlling the opacity status of variables and constants in hint databases. It is recommended to always use these commands after creating a hint databse with Create HintDb.
- Multiple sections with the same name are now allowed, by Jasper Hugunin.
- Library: additions and changes in the VectorDef, Ascii, and String libraries. Syntax notations are now available only when using Import of libraries and not merely Require, by various contributors (source of incompatibility, see CHANGES.md for details).
- Toplevels: coqtop and coqide can now display diffs between proof steps in color, using the Diffs option, by Jim Fehrle.
- Documentation: we integrated a large number of fixes to the new Sphinx documentation by various contributors, coordinated by Clément Pit-Claudel and Théo Zimmermann.
- Tools: removed the gallina utility and the homebrewed Emacs mode.
Edited by Anton Kochkov