Skip to Content.
Sympa Menu

coq-club - [Coq-Club] Equations 1.0-beta is out!

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

[Coq-Club] Equations 1.0-beta is out!


Chronological Thread 
  • From: Matthieu Sozeau <matthieu.sozeau AT inria.fr>
  • To: "coq-club AT inria.fr" <coq-club AT inria.fr>
  • Subject: [Coq-Club] Equations 1.0-beta is out!
  • Date: Thu, 12 Oct 2017 16:29:26 +0000
  • Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=matthieu.sozeau AT inria.fr; spf=Pass smtp.mailfrom=matthieu.sozeau AT gmail.com; spf=None smtp.helo=postmaster AT mail-ua0-f175.google.com
  • Ironport-phdr: 9a23:LwnajRfqg6YA1S8+AXseX0SRlGMj4u6mDksu8pMizoh2WeGdxc2yYR7h7PlgxGXEQZ/co6odzbGJ4+a9ASQp2tWojjMrSNR0TRgLiMEbzUQLIfWuLgnFFsPsdDEwB89YVVVorDmROElRH9viNRWJ+iXhpW1aJhKqfwFyP6H+HpPYp8WxzeG7vZPJKU0cjz2kJLh2MR+erAPLt8BQj5E0eYgrzR6ch3JUZ+RXyH4gHlWBkh/hrpO19YJ/8yVdprQ68NxNWLjSfqIiTLUeAi5wYDN939HiqRSWFVjH3XAbSGhDyhc=

Dear Coq-clubbers,

  We are pleased to announce release 1.0-beta of the Equations
package. Equations is a function definition plugin for Coq (supporting
Coq 8.6 currently), that allows the definition of functions by
dependent pattern-matching and (well-founded) recursion and compiles
them into core terms. This version of Equations is based on a new
simplification engine for dependent equalities appearing in dependent
eliminations that is also usable as a separate tactic, providing an
axiom-free variant of [dependent destruction].  The main features of
Equations include:

  - Dependent pattern-matching in the style of Agda/Epigram, with
    inaccessible patterns, `with` and `where` clauses.  The use of the K
    axiom or a proof of K is configurable.

  - Support for well-founded recursion using `by rec` annotations, and
    automatic derivation of the subterm relation for inductive families.
  
  - Automatic generation of the defining equations as rewrite rules for
    every definition.
  
  - Automatic generation of the unfolding lemma for well-founded
    definitions (requiring only functional extensionality).
  
  - Automatic derivation of the graph of the function and its
    elimination principle.  In case the automation fails to prove these
    principles, the user is asked to provide a proof.
  
  - A new `dependent elimination` tactic based on the same splitting
    tree compilation scheme that can advantageously replace `dependent
    destruction` and sometimes `inversion` as well. The `as` clause of
    `dependent elimination` allows to specify exactly the patterns and
    naming of new variables needed for an elimination.
  
  - A set of `Derive` commands for automatic derivation of constructions
    from an inductive type: its signature, no-confusion property,
    well-founded subterm relation and decidable equality proof.

The current system still has known limitations we will address (see
faq), but is already usable for developing non-toy programs and
proofs. Documentation and examples are available on the website.
We are seeking and welcoming feedback from you on the usage of 
these tools!

Release 1.0-beta of Equations is available as source on github and through `opam` (package `coq-equations.1.0~beta`).

release: https://github.com/mattam82/Coq-Equations/releases/tag/v1.0-beta
www: http://mattam82.github.io/Coq-Equations
faq: http://mattam82.github.io/Coq-Equations/FAQ
issues: http://github.com/mattam82/Coq-Equations/issues

Enjoy!
-- Matthieu Sozeau and Cyprien Mangin



  • [Coq-Club] Equations 1.0-beta is out!, Matthieu Sozeau, 10/12/2017

Archive powered by MHonArc 2.6.18.

Top of Page