Skip to Content.
Sympa Menu

coq-club - Re: [Coq-Club] Speeding up inversion on large inductives

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

Re: [Coq-Club] Speeding up inversion on large inductives


Chronological Thread 
  • From: Thomas Braibant <thomas.braibant AT gmail.com>
  • To: coq-club <coq-club AT inria.fr>
  • Subject: Re: [Coq-Club] Speeding up inversion on large inductives
  • Date: Thu, 10 Sep 2015 22:21:23 +0200
  • Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=thomas.braibant AT gmail.com; spf=Pass smtp.mailfrom=thomas.braibant AT gmail.com; spf=None smtp.helo=postmaster AT mail-ob0-f180.google.com
  • Ironport-phdr: 9a23:VcgTBhXX1B1H+YKEABy96Oac23vV8LGtZVwlr6E/grcLSJyIuqrYZhGAt8tkgFKBZ4jH8fUM07OQ6PC8HzVeqs/d4TgrS99laVwssY0uhQsuAcqIWwXQDcXBSGgEJvlET0Jv5HqhMEJYS47UblzWpWCuv3ZJQk2sfTR8Kum9IIPOlcP/j7n0oM2PJVwWz2PhMPtbF1afk0b4joEum4xsK6I8mFPig0BjXKBo/15uPk+ZhB3m5829r9ZJ+iVUvO89pYYbCf2pN/dwcbsNBzM/dmsx+cej4RLEVE6E4mYWemQQiBtBRQbfukLURJD05xf6se90w2GwJ8T3R7kyRXz286dsTRbzzi0dPj8z+WfLosN1haNf5hmmokoskMbvfIiJOa8mLevmdtQASD8ZUw==

The plugin has not been maintained too much. However, if your inductive falls into the scope of what it can handle [1], you should get a much faster/smaller inversion principle out of the box. 

[1] That is, it does not support completely type families with dependent types. 

On Wed, Sep 9, 2015 at 6:09 PM, Robbert Krebbers <mailinglists AT robbertkrebbers.nl> wrote:
Pierre Boutillier and Thomas Braibant developed a plugin to automate Monin's approach. See:

  https://github.com/braibant/invert

I do not know whether there is a newer (and maintained) version.


On 09/09/2015 04:57 PM, Petar Maksimovic wrote:
Hi Xavier - that's a good idea, and I have already tried to adapt the
work of Monin and Shi, but I was unable to automate the generation of
their principles, and writing them by hand for each of the
constructors wasn't an option.

Cheers,
Petar

On 9 September 2015 at 16:46, Xavier Leroy <xavier.leroy AT inria.fr> wrote:
2015-09-07 16:58 GMT+02:00 Petar Maksimovic <petar.maksimovic AT gmail.com
<mailto:petar.maksimovic AT gmail.com>>:

     Hello everyone,

     I'm working on a development where there's an inductive type with 400+
     constructors. Recently, it has become necessary to invert on it
     regularly, and this takes an exceedingly long time.


You might be interested in the work of Monin and Shi on "small inversions":
http://www-verimag.imag.fr/~monin/Proof/SmallInvScalesUp/paper.pdf
I'm not sure their approach solves your problems, but it could help.

On 08/09/2015 09:43, Cedric Auger wrote:
I am curious of what would lead to such a big inductive type.

One example: full modeling of the instruction set of a modern processor
architecture.  ARMv7 has 413 instructions, and don't get me
started about ARMv8...

- Xavier Leroy




Archive powered by MHonArc 2.6.18.

Top of Page