Skip to Content.
Sympa Menu

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

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

[Coq-Club] Equations 1.0 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 is out!
  • Date: Sun, 17 Dec 2017 18:47:27 +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-vk0-f44.google.com
  • Ironport-phdr: 9a23:dzKo1hAi6LOJI4yFpD++UyQJP3N1i/DPJgcQr6AfoPdwSPT7p8bcNUDSrc9gkEXOFd2Cra4c0qyO6+jJYi8p2d65qncMcZhBBVcuqP49uEgeOvODElDxN/XwbiY3T4xoXV5h+GynYwAOQJ6tL1LdrWev4jEMBx7xKRR6JvjvGo7Vks+7y/2+94fcbglUmTaxe69+IAmrpgjNq8cahpdvJLwswRXTuHtIfOpWxWJsJV2Nmhv3+9m98p1+/SlOovwt78FPX7n0cKQ+VrxYES8pM3sp683xtBnMVhWA630BWWgLiBVIAgzF7BbnXpfttybxq+Rw1DWGMcDwULs5Xymp4aV2Rx/ykCoIOD43/m/UhMJtkqxUvAmsqAZjz4POeoyZKOZyc6HbcNgHRWRBRMFRVylZD427dYQPE/YBPeZZr4bjulsFsAawBQ6tBezx0DBIm2L90Ko/0+s7DQHGwAwgH9MQv3TJttn1L6ASUOGrw6bS0DXOdPJW2THn6IjJaB8tu/+MXahpfMfX1EIhGQTFjlCKpozkOTOYzusNs2mH7+pgSOKgkHQrqwB2ojS3yccsi5XJhoIIyl/f7yl23IE1Jdi+RUVmYtCkCINduz+GO4ZyWM8vQGFltDwkxrEbt5O3ZicHxZshyhXCcfKIaZKI7QjmVOuJITd3mnZleLWniha360egy+n8WtCq0FZJsiZJi9fMu38C2hDJ5ciHTfx9/kil2TmRzQzc9uZEIUUsmaraLZ4u3KIwm4INvUjfGiL6gkb7ga+Mekk65+Sl5f7rb7rpq5OEMo97kAD+MqAgmsylBuQ4NxADX22B9uSgyL3j/Uz5T6tXjvEsianZt5HbKtoBqa6kGAJV3YMj5Ay+DzeiytgXgX4HLFdddBKdk4fpI03OIOz/Dfqnn1usly5ry+naMb3lH5XCNWPOkKzhfLZ4805T0hA/zdFZ55JOC7EOOuj/WkHrtI+QMhhseQez2qPsDMh3/oIYQ2OGRKGDeuuGuliRo+krPuOkZYkPuT+7JeJztND0inpsvFYBYamo0IZfU3eqE/17axGcaGbwgtYMDCERuRgzRfHCiVuYUDcVaWzkDPF03S0yFI/zVdSLfYuqmrHUhCo=

Dear Coq-clubbers,

  We are pleased to announce release 1.0 of the Equations package. Equations is available through sources on github and through opam (package coq-equations.1.0for Coq 8.6 and coq-equations.1.0+8.7 for 8.7 and 8.7.1).

  Equations is a function definition plugin for Coq, that allows the definition of functions by dependent pattern-matching and well-founded, mutual or nested structural recursion and compiles them into core terms. It automatically derives the clauses equations, the graph of the function and its associated elimination principle.

  This version of Equations is based on a new simplification engine for the 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/UIP axiom or a user-provided proof of K is configurable, through the  Equations WithKoption.

  • Support for well-founded recursion using by rec annotations, and automatic derivation of the subterm relation for inductive families.

  • Support for mutual and nested structural recursion using with and where auxilliary definitions, allowing to factor multiple uses of the same nested fixpoint definition. It proves the expected elimination principles for mutual and nested definitions.

  • 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. The tactic is still a work-in-progress.

  • 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, if applicable.

The current system is usable for developping non-toy programs and proofs (see examples). Documentation is available on the website, including a reference manual with an introduction to the features of the plugin. We are seeking and welcoming feedback from you on the usage of these tools!

– Matthieu Sozeau and Cyprien Mangin



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

Archive powered by MHonArc 2.6.18.

Top of Page