There is a newer version of this record available.

Software Open Access

mattam82/Coq-Equations: Equations 1.3 for Coq 8.15

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


JSON Export

{
  "files": [
    {
      "links": {
        "self": "https://zenodo.org/api/files/191c0804-5d5f-45bb-8ecb-6447c73e943d/mattam82/Coq-Equations-v1.3-8.15.zip"
      }, 
      "checksum": "md5:519bd688fa31e1eefe18342585b3d8e7", 
      "bucket": "191c0804-5d5f-45bb-8ecb-6447c73e943d", 
      "key": "mattam82/Coq-Equations-v1.3-8.15.zip", 
      "type": "zip", 
      "size": 1230505
    }
  ], 
  "owners": [
    36932
  ], 
  "doi": "10.5281/zenodo.5878837", 
  "stats": {
    "version_unique_downloads": 31.0, 
    "unique_views": 26.0, 
    "views": 33.0, 
    "version_views": 541.0, 
    "unique_downloads": 2.0, 
    "version_unique_views": 480.0, 
    "volume": 2461010.0, 
    "version_downloads": 53.0, 
    "downloads": 2.0, 
    "version_volume": 69011743.0
  }, 
  "links": {
    "doi": "https://doi.org/10.5281/zenodo.5878837", 
    "conceptdoi": "https://doi.org/10.5281/zenodo.1117296", 
    "bucket": "https://zenodo.org/api/files/191c0804-5d5f-45bb-8ecb-6447c73e943d", 
    "conceptbadge": "https://zenodo.org/badge/doi/10.5281/zenodo.1117296.svg", 
    "html": "https://zenodo.org/record/5878837", 
    "latest_html": "https://zenodo.org/record/6645029", 
    "badge": "https://zenodo.org/badge/doi/10.5281/zenodo.5878837.svg", 
    "latest": "https://zenodo.org/api/records/6645029"
  }, 
  "conceptdoi": "10.5281/zenodo.1117296", 
  "created": "2022-01-19T13:52:44.193991+00:00", 
  "updated": "2022-06-15T09:11:04.494505+00:00", 
  "conceptrecid": "1117296", 
  "revision": 4, 
  "id": 5878837, 
  "metadata": {
    "access_right_category": "success", 
    "doi": "10.5281/zenodo.5878837", 
    "description": "Equations 1.3\n<p>This is a new major release of Equations, working with Coq 8.15. This version adds an improved syntax (less <code>;</code>-separation), integration with the Coq-HoTT library and numerous bug fixes. See the <a href=\"https://github.com/mattam82/Coq-Equations/raw/v1.3-8.15/doc/equations.pdf\">reference manual</a> for details.</p>\n<p>This version introduces minor breaking changes along with the following features:</p>\n<ul>\n<li><p>Enhancements of pattern interpretation</p>\n<p>No explicit shadowing of pattern variables is allowed anymore. This fixes numerous bugs where \ngenerated implicit names introduced by the elaboration of patterns could shadow user-given names, \nleading to incorrect names in right-hand sides and confusing environments.</p>\n</li>\n<li><p>Improved syntax for \"concise\" clauses separated by <code>|</code>, at top-level or inside <code>with</code> subprograms. \nWe no longer require to separate them by <code>;</code>. For example, the following definition is now accepted:</p>\n<pre><code class=\"lang-coq\">Equations foo : nat -&gt; nat := \n  | 0 =&gt; 1\n  | S n =&gt; S (foo n).\n</code></pre>\n<p>The old syntax is however still supported for backwards compatibility.</p>\n</li>\n<li>Multiple patterns can be separated by <code>,</code> in addition to <code>|</code>, as in:<pre><code class=\"lang-coq\">Equations trans {A} {x y z : A} (e : x = y) (e&#39; : y = z) : x = z := | 1, 1 =&gt; 1.\n</code></pre>\n</li>\n<li><code>Require Import Equations.Equations.</code> does not work anymore.\nOne has to use <code>Require Import Equations.Prop.Equations</code> to load the plugin's default instance where equality is in <code>Prop</code>. <code>From Equations Require Import Equations</code> is unaffected.</li>\n<li>Use <code>Require Import Equations.HoTT.All</code> to use the HoTT variant of the library compatible with the <a href=\"https://github.com/HoTT/HoTT\">Coq HoTT</a> library\nThe plugin then reuses the definition of <code>paths</code> from the HoTT library and all its constructions are universe polymorphic. As for the HoTT library alone, coq must be passed the arguments <code>-noinit -indices-matter</code> to use the library and plugin. The <code>coq-equations</code> opam package depends optionally on <code>coq-hott</code>, so if <code>coq-hott</code> is installed before it, <code>coq-equations</code> will automatically install the <code>HoTT</code> library variant in addition to the standard one. This variant of Equations allows to write very concise dependent pattern-matchings on equality: <pre><code class=\"lang-coq\">Require Import Equations.HoTT.All.\nEquations sym {A} {x y : A} (e : x = y) : y = x := | 1 =&gt; 1.\n</code></pre>\n</li>\n<li>New attribute <code>#[tactic=tac]</code> to set locally the default tactic to solve remaining holes. \nThe goals on which the tactic applies are now always of the form <code>\u0393 |- \u03c4</code> where \u0393 is the context where the hole was introduced and \u03c4 the expected type, <em>even</em> when using the <code>Obligation</code> machinery to solve them, resulting in a possible incompatibility if the obligation tactic treated the context differently than the conclusion. By default, the <code>program_simpl</code> tactic performs a <code>simpl</code> call before introducing the hypotheses, so you might need to add a <code>simpl in *</code> to your tactics.</li>\n<li>New attributes <code>#[derive(equations=yes,no, eliminator=yes|no)]</code> can be used in place of the <code>(noeqns, noind)</code> flags which are deprecated.</li>\n</ul>\nFixed in v1.3beta2:\n<ul>\n<li>Fix #399: allow simplification in indices when splitting a variable, to expose the head of the index.</li>\n<li>Fix #389: error derving EqDec in HoTT variant.</li>\n<li>Allow universe binder annotations @{} on Equations definitions.</li>\n<li>Fix \"struct\" parsing issue that required a reset of Coq sometimes</li>\n<li>POTENTIAL SOURCE OF INCOMPATIBILITY:\nPattern enhancements: no explicit shadowing of pattern variables is allowed anymore. Fix numerous bugs where generated implicit names introduced by the elaboration of patterns could shadow user-given names, leading to incorrect names in right-hand sides.</li>\n</ul>\nFixed in 1.3beta1:\n<ul>\n<li>#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\".</li>\n<li>#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 <code>Qed</code> or <code>Defined</code> (similarly to Coq's <code>#[refine] Instance</code> command).</li>\n<li>#372, #194: <code>funelim</code> applied to a partial application failing</li>\n<li>#354: support for building values in <code>SProp</code></li>\n<li>#353: name capture problem in presence of modules</li>\n<li>#335: provide an alias Equations Derive to not conflict with QuickChick's Derive</li>\n<li>#325: properly inline all Equations helper constants during Extraction</li>\n</ul>", 
    "license": {
      "id": "other-open"
    }, 
    "title": "mattam82/Coq-Equations: Equations 1.3 for Coq 8.15", 
    "relations": {
      "version": [
        {
          "count": 27, 
          "index": 25, 
          "parent": {
            "pid_type": "recid", 
            "pid_value": "1117296"
          }, 
          "is_last": false, 
          "last_child": {
            "pid_type": "recid", 
            "pid_value": "6645029"
          }
        }
      ]
    }, 
    "version": "v1.3-8.15", 
    "publication_date": "2022-01-19", 
    "creators": [
      {
        "affiliation": "Inria", 
        "name": "Matthieu Sozeau"
      }, 
      {
        "name": "Pierre-Marie P\u00e9drot"
      }, 
      {
        "name": "Cyprien Mangin"
      }, 
      {
        "affiliation": "Inria", 
        "name": "Ga\u00ebtan Gilbert"
      }, 
      {
        "name": "Emilio Jes\u00fas Gallego Arias"
      }, 
      {
        "name": "Hugo Herbelin"
      }, 
      {
        "name": "Maxime D\u00e9n\u00e8s"
      }, 
      {
        "name": "Robin Green"
      }, 
      {
        "affiliation": "@coq @math-comp @LPCIC", 
        "name": "Enrico Tassi"
      }, 
      {
        "affiliation": "foobar.land", 
        "name": "Guillaume Claret"
      }, 
      {
        "affiliation": "IIIT Hyderabad", 
        "name": "Siddharth"
      }, 
      {
        "affiliation": "@Zilliqa", 
        "name": "Anton Trunov"
      }, 
      {
        "name": "Jim Fehrle"
      }, 
      {
        "affiliation": "@dfinity-lab", 
        "name": "Joachim Breitner"
      }, 
      {
        "name": "Antonio Nikishaev"
      }, 
      {
        "name": "SimonBoulier"
      }, 
      {
        "name": "S\u00f8ren N\u00f8rb\u00e6k"
      }, 
      {
        "affiliation": "@Inria / Universit\u00e9 de Paris", 
        "name": "Th\u00e9o Zimmermann"
      }, 
      {
        "name": "Vincent Laporte"
      }, 
      {
        "affiliation": "Inria", 
        "name": "Yves Bertot"
      }
    ], 
    "access_right": "open", 
    "resource_type": {
      "type": "software", 
      "title": "Software"
    }, 
    "related_identifiers": [
      {
        "scheme": "url", 
        "identifier": "https://github.com/mattam82/Coq-Equations/tree/v1.3-8.15", 
        "relation": "isSupplementTo"
      }, 
      {
        "scheme": "doi", 
        "identifier": "10.5281/zenodo.1117296", 
        "relation": "isVersionOf"
      }
    ]
  }
}
541
53
views
downloads
All versions This version
Views 54133
Downloads 532
Data volume 69.0 MB2.5 MB
Unique views 48026
Unique downloads 312

Share

Cite as