There is a newer version of this record available.

Software Open Access

mattam82/Coq-Equations: Equations 1.3beta1 for Coq 8.13

Matthieu Sozeau; Pierre-Marie Pédrot; Cyprien Mangin; Emilio Jesús Gallego Arias; Gaëtan Gilbert; Maxime Dénès; Robin Green; Hugo Herbelin; Enrico Tassi; Guillaume Claret; Siddharth; Anton Trunov; Joachim Breitner; Antonio Nikishaev; Jim Fehrle; SimonBoulier; Søren Nørbæk; Théo Zimmermann; Vincent Laporte; Yves Bertot


Dublin Core Export

<?xml version='1.0' encoding='utf-8'?>
<oai_dc:dc xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/oai_dc/ http://www.openarchives.org/OAI/2.0/oai_dc.xsd">
  <dc:creator>Matthieu Sozeau</dc:creator>
  <dc:creator>Pierre-Marie Pédrot</dc:creator>
  <dc:creator>Cyprien Mangin</dc:creator>
  <dc:creator>Emilio Jesús Gallego Arias</dc:creator>
  <dc:creator>Gaëtan Gilbert</dc:creator>
  <dc:creator>Maxime Dénès</dc:creator>
  <dc:creator>Robin Green</dc:creator>
  <dc:creator>Hugo Herbelin</dc:creator>
  <dc:creator>Enrico Tassi</dc:creator>
  <dc:creator>Guillaume Claret</dc:creator>
  <dc:creator>Siddharth</dc:creator>
  <dc:creator>Anton Trunov</dc:creator>
  <dc:creator>Joachim Breitner</dc:creator>
  <dc:creator>Antonio Nikishaev</dc:creator>
  <dc:creator>Jim Fehrle</dc:creator>
  <dc:creator>SimonBoulier</dc:creator>
  <dc:creator>Søren Nørbæk</dc:creator>
  <dc:creator>Théo Zimmermann</dc:creator>
  <dc:creator>Vincent Laporte</dc:creator>
  <dc:creator>Yves Bertot</dc:creator>
  <dc:date>2021-05-05</dc:date>
  <dc:description>Equations 1.3
This is a new major release of Equations, working with Coq 8.13, 8.12 and 8.11. This version adds an improved syntax (less ;-separation), integration with the Coq-HoTT library (for Coq 8.13 only) and numerous bug fixes. It introduces minor breaking changes along with the following features:

Improved syntax for "concise" clauses separated by |, at top-level or inside with subprograms. 
We no longer require to separated them by ;. For example, the following definition is now accepted:
Equations foo : nat -&gt; nat := 
  | 0 =&gt; 1
  | S n =&gt; S (foo n).

The old syntax is however still supported for backwards compatibility.

Require Import Equations.Equations. does not work anymore.
One has to use Require Import Equations.Prop.Equations to load the plugin's default instance where equality is in Prop. From Equations Require Import Equations is unaffected.

Use Require Import Equations.HoTT.All to use the HoTT variant of the library compatible with the Coq HoTT library
The plugin then reuses the definition of paths from the HoTT library and all its constructions are universe polymorphic. As for the HoTT library alone, coq must be passed the arguments -noinit -indices-matter to use the library and plugin. The coq-equations opam package depends optionally on coq-hott, so if coq-hott is installed before it, coq-equations will automatically install the HoTT library variant in addition to the standard one.
New attribute #[tactic=tac] to set locally the default tactic to solve remaining holes. 
The goals on which the tactic applies are now always of the form Γ |- τ where Γ is the context where the hole was introduced and τ the expected type, even when using the Obligation machinery to solve them, resulting in a possible incompatibility if the obligation tactic treated the context differently than the conclusion. By default, the program_simpl tactic performs a simpl call before introducing the hypotheses, so you might need to add a simpl in * to your tactics.
New attributes #[derive(equations=yes,no, eliminator=yes|no)] can be used in place of the (noeqns, noind) flags which are deprecated.

Fixed in this version:
∗ #329: improved strengthening avoiding to abstract over recursive definitions which would not pass the guardness checker. This can simplify the produced terms, avoiding unnecessary "commutative cuts".
∗ #321: warn rather than error when using Equations? and no subgoals are left. This will leave a proof state with no subgoals, that must be closed using a Qed or Defined (similarly to Coq's #[refine] Instance command).
∗ #372, #194: funelim applied to a partial application failing
∗ #354: support for building values in SProp
∗ #353: name capture problem in presence of modules
∗ #335: provide an alias Equations Derive to not conflict with QuickChick's Derive
∗ #325: properly inline all Equations helper constants during Extraction</dc:description>
  <dc:identifier>https://zenodo.org/record/4739438</dc:identifier>
  <dc:identifier>10.5281/zenodo.4739438</dc:identifier>
  <dc:identifier>oai:zenodo.org:4739438</dc:identifier>
  <dc:relation>url:https://github.com/mattam82/Coq-Equations/tree/v1.3-8.13beta</dc:relation>
  <dc:relation>doi:10.5281/zenodo.1117296</dc:relation>
  <dc:rights>info:eu-repo/semantics/openAccess</dc:rights>
  <dc:title>mattam82/Coq-Equations: Equations 1.3beta1 for Coq 8.13</dc:title>
  <dc:type>info:eu-repo/semantics/other</dc:type>
  <dc:type>software</dc:type>
</oai_dc:dc>
348
49
views
downloads
All versions This version
Views 3485
Downloads 493
Data volume 64.4 MB3.7 MB
Unique views 3005
Unique downloads 272

Share

Cite as