Subject: CVS commit: pkgsrc/lang/coq
From: David A. Holland
Date: 2021-02-09 23:37:44
Message id:

Log Message:
Update lang/coq to 8.12.2.

Fixes build with current ocaml.

Note: this update includes the import semantics fixes from 8.11 that
break a lot of developments.

pkgsrc change: docs build now works.

Summary of changes in 8.12:

Coq version 8.12 integrates many usability improvements, in particular
with respect to notations, scopes and implicit arguments, along with
many bug fixes and major improvements to the reference manual. The
main changes include:

    New binder notation for non-maximal implicit arguments using [ ]
    allowing to set and see the implicit status of arguments

    New notation Inductive I A | x : s := ... to distinguish the
    uniform from the non-uniform parameters in inductive definitions.

    More robust and expressive treatment of implicit inductive
    parameters in inductive declarations.

    Improvements in the treatment of implicit arguments and partially
    applied constants in notations, parsing of hexadecimal number
    notation and better handling of scopes and coercions for printing.

    A correct and efficient coercion coherence checking algorithm,
    avoiding spurious or duplicate warnings.

    An improved Search command which accepts complex queries. Note
    that this takes precedence over the now deprecated ssreflect

    Many additions and improvements of the standard library.

    Improvements to the reference manual include a more logical
    organization of chapters along with updated syntax descriptions
    that match Coq's grammar in most but not all chapters.

Additionally, the omega tactic is deprecated in this version of Coq,
and we recommend users to switch to lia in new proof scripts (see also
the warning message in the corresponding chapter).

Summary of changes in 8.11:

The main changes brought by Coq version 8.11 are:

    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

    Fixed bugs of Export and Import 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)

    New refine attribute for Instance can be used instead of the
    removed Refine 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.

Additionally, while the omega tactic is not yet deprecated in this
version of Coq, it should soon be the case and we already recommend
users to switch to lia in new proof scripts (see also the warning
message in the corresponding chapter).

The full (huge) changelog is here: … anges.html