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


MARC21 XML Export

<?xml version='1.0' encoding='UTF-8'?>
<record xmlns="http://www.loc.gov/MARC21/slim">
  <leader>00000nmm##2200000uu#4500</leader>
  <controlfield tag="005">20211126101551.0</controlfield>
  <controlfield tag="001">4739438</controlfield>
  <datafield tag="700" ind1=" " ind2=" ">
    <subfield code="a">Pierre-Marie Pédrot</subfield>
  </datafield>
  <datafield tag="700" ind1=" " ind2=" ">
    <subfield code="a">Cyprien Mangin</subfield>
  </datafield>
  <datafield tag="700" ind1=" " ind2=" ">
    <subfield code="a">Emilio Jesús Gallego Arias</subfield>
  </datafield>
  <datafield tag="700" ind1=" " ind2=" ">
    <subfield code="u">Inria</subfield>
    <subfield code="a">Gaëtan Gilbert</subfield>
  </datafield>
  <datafield tag="700" ind1=" " ind2=" ">
    <subfield code="a">Maxime Dénès</subfield>
  </datafield>
  <datafield tag="700" ind1=" " ind2=" ">
    <subfield code="a">Robin Green</subfield>
  </datafield>
  <datafield tag="700" ind1=" " ind2=" ">
    <subfield code="a">Hugo Herbelin</subfield>
  </datafield>
  <datafield tag="700" ind1=" " ind2=" ">
    <subfield code="u">@coq @math-comp @LPCIC</subfield>
    <subfield code="a">Enrico Tassi</subfield>
  </datafield>
  <datafield tag="700" ind1=" " ind2=" ">
    <subfield code="a">Guillaume Claret</subfield>
  </datafield>
  <datafield tag="700" ind1=" " ind2=" ">
    <subfield code="u">IIIT Hyderabad</subfield>
    <subfield code="a">Siddharth</subfield>
  </datafield>
  <datafield tag="700" ind1=" " ind2=" ">
    <subfield code="u">@Zilliqa</subfield>
    <subfield code="a">Anton Trunov</subfield>
  </datafield>
  <datafield tag="700" ind1=" " ind2=" ">
    <subfield code="u">@dfinity-lab</subfield>
    <subfield code="a">Joachim Breitner</subfield>
  </datafield>
  <datafield tag="700" ind1=" " ind2=" ">
    <subfield code="a">Antonio Nikishaev</subfield>
  </datafield>
  <datafield tag="700" ind1=" " ind2=" ">
    <subfield code="a">Jim Fehrle</subfield>
  </datafield>
  <datafield tag="700" ind1=" " ind2=" ">
    <subfield code="a">SimonBoulier</subfield>
  </datafield>
  <datafield tag="700" ind1=" " ind2=" ">
    <subfield code="a">Søren Nørbæk</subfield>
  </datafield>
  <datafield tag="700" ind1=" " ind2=" ">
    <subfield code="u">@Inria / Université de Paris</subfield>
    <subfield code="a">Théo Zimmermann</subfield>
  </datafield>
  <datafield tag="700" ind1=" " ind2=" ">
    <subfield code="a">Vincent Laporte</subfield>
  </datafield>
  <datafield tag="700" ind1=" " ind2=" ">
    <subfield code="u">Inria</subfield>
    <subfield code="a">Yves Bertot</subfield>
  </datafield>
  <datafield tag="856" ind1="4" ind2=" ">
    <subfield code="s">1224232</subfield>
    <subfield code="z">md5:5949e94567e2583451fd93f1699c53ef</subfield>
    <subfield code="u">https://zenodo.org/record/4739438/files/mattam82/Coq-Equations-v1.3-8.13beta.zip</subfield>
  </datafield>
  <datafield tag="542" ind1=" " ind2=" ">
    <subfield code="l">open</subfield>
  </datafield>
  <datafield tag="260" ind1=" " ind2=" ">
    <subfield code="c">2021-05-05</subfield>
  </datafield>
  <datafield tag="909" ind1="C" ind2="O">
    <subfield code="p">software</subfield>
    <subfield code="o">oai:zenodo.org:4739438</subfield>
  </datafield>
  <datafield tag="100" ind1=" " ind2=" ">
    <subfield code="u">Inria</subfield>
    <subfield code="a">Matthieu Sozeau</subfield>
  </datafield>
  <datafield tag="245" ind1=" " ind2=" ">
    <subfield code="a">mattam82/Coq-Equations: Equations 1.3beta1 for Coq 8.13</subfield>
  </datafield>
  <datafield tag="540" ind1=" " ind2=" ">
    <subfield code="a">Other (Open)</subfield>
  </datafield>
  <datafield tag="650" ind1="1" ind2="7">
    <subfield code="a">cc-by</subfield>
    <subfield code="2">opendefinition.org</subfield>
  </datafield>
  <datafield tag="520" ind1=" " ind2=" ">
    <subfield code="a">Equations 1.3
&lt;p&gt;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 &lt;code&gt;;&lt;/code&gt;-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:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Improved syntax for "concise" clauses separated by &lt;code&gt;|&lt;/code&gt;, at top-level or inside &lt;code&gt;with&lt;/code&gt; subprograms. 
We no longer require to separated them by &lt;code&gt;;&lt;/code&gt;. For example, the following definition is now accepted:&lt;/p&gt;
&lt;pre&gt;&lt;code class="lang-coq"&gt;Equations foo : nat -&amp;gt; nat := 
  | 0 =&amp;gt; 1
  | S n =&amp;gt; S (foo n).
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The old syntax is however still supported for backwards compatibility.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;Require Import Equations.Equations.&lt;/code&gt; does not work anymore.
One has to use &lt;code&gt;Require Import Equations.Prop.Equations&lt;/code&gt; to load the plugin's default instance where equality is in &lt;code&gt;Prop&lt;/code&gt;. &lt;code&gt;From Equations Require Import Equations&lt;/code&gt; is unaffected.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;Use &lt;code&gt;Require Import Equations.HoTT.All&lt;/code&gt; to use the HoTT variant of the library compatible with the &lt;a href="https://github.com/HoTT/HoTT"&gt;Coq HoTT&lt;/a&gt; library
The plugin then reuses the definition of &lt;code&gt;paths&lt;/code&gt; from the HoTT library and all its constructions are universe polymorphic. As for the HoTT library alone, coq must be passed the arguments &lt;code&gt;-noinit -indices-matter&lt;/code&gt; to use the library and plugin. The &lt;code&gt;coq-equations&lt;/code&gt; opam package depends optionally on &lt;code&gt;coq-hott&lt;/code&gt;, so if &lt;code&gt;coq-hott&lt;/code&gt; is installed before it, &lt;code&gt;coq-equations&lt;/code&gt; will automatically install the &lt;code&gt;HoTT&lt;/code&gt; library variant in addition to the standard one.&lt;/li&gt;
&lt;li&gt;New attribute &lt;code&gt;#[tactic=tac]&lt;/code&gt; to set locally the default tactic to solve remaining holes. 
The goals on which the tactic applies are now always of the form &lt;code&gt;Γ |- τ&lt;/code&gt; where Γ is the context where the hole was introduced and τ the expected type, &lt;em&gt;even&lt;/em&gt; when using the &lt;code&gt;Obligation&lt;/code&gt; machinery to solve them, resulting in a possible incompatibility if the obligation tactic treated the context differently than the conclusion. By default, the &lt;code&gt;program_simpl&lt;/code&gt; tactic performs a &lt;code&gt;simpl&lt;/code&gt; call before introducing the hypotheses, so you might need to add a &lt;code&gt;simpl in *&lt;/code&gt; to your tactics.&lt;/li&gt;
&lt;li&gt;New attributes &lt;code&gt;#[derive(equations=yes,no, eliminator=yes|no)]&lt;/code&gt; can be used in place of the &lt;code&gt;(noeqns, noind)&lt;/code&gt; flags which are deprecated.&lt;/li&gt;
&lt;/ul&gt;
Fixed in this version:
&lt;p&gt;∗ #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 &lt;code&gt;Qed&lt;/code&gt; or &lt;code&gt;Defined&lt;/code&gt; (similarly to Coq's &lt;code&gt;#[refine] Instance&lt;/code&gt; command).
∗ #372, #194: &lt;code&gt;funelim&lt;/code&gt; applied to a partial application failing
∗ #354: support for building values in &lt;code&gt;SProp&lt;/code&gt;
∗ #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&lt;/p&gt;</subfield>
  </datafield>
  <datafield tag="773" ind1=" " ind2=" ">
    <subfield code="n">url</subfield>
    <subfield code="i">isSupplementTo</subfield>
    <subfield code="a">https://github.com/mattam82/Coq-Equations/tree/v1.3-8.13beta</subfield>
  </datafield>
  <datafield tag="773" ind1=" " ind2=" ">
    <subfield code="n">doi</subfield>
    <subfield code="i">isVersionOf</subfield>
    <subfield code="a">10.5281/zenodo.1117296</subfield>
  </datafield>
  <datafield tag="024" ind1=" " ind2=" ">
    <subfield code="a">10.5281/zenodo.4739438</subfield>
    <subfield code="2">doi</subfield>
  </datafield>
  <datafield tag="980" ind1=" " ind2=" ">
    <subfield code="a">software</subfield>
  </datafield>
</record>
350
49
views
downloads
All versions This version
Views 3505
Downloads 493
Data volume 64.4 MB3.7 MB
Unique views 3025
Unique downloads 272

Share

Cite as