coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- 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`).
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.