coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: Petar Maksimovic <petar.maksimovic AT gmail.com>
- To: coq-club AT inria.fr
- Subject: Re: [Coq-Club] Speeding up inversion on large inductives
- Date: Wed, 9 Sep 2015 14:12:19 +0200
- Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=petar.maksimovic AT gmail.com; spf=Pass smtp.mailfrom=petar.maksimovic AT gmail.com; spf=None smtp.helo=postmaster AT mail-la0-f53.google.com
- Ironport-phdr: 9a23:DPQ/9RRcTEA9pVxKVY+rNn/5dtpsv+yvbD5Q0YIujvd0So/mwa64YBKN2/xhgRfzUJnB7Loc0qyN4/ymADBLvcvJmUtBWaIPfidNsd8RkQ0kDZzNImzAB9muURYHGt9fXkRu5XCxPBsdMs//Y1rPvi/6tmZKSV3BPAZ4bt74BpTVx5zukbvip9uKP04U2XKUWvBbElaflU3prM4YgI9veO4a6yDihT92QdlQ3n5iPlmJnhzxtY+a9Z9n9DlM6bp6r5YTGfayQ6NtRrtBST8iLmod5cvxtBCFQxHcyGEbVzAunwZBGUDg5RLhX5L2rCrx/r5l1TWTJ4vzRLMvWDGl8aZgYBDtgSYDcTU+9TeE2YRLkKtHrUf59FREyInObdTNOQ==
Thanks Cedric and Gregory,
I'll give it a go with the modular approach, it should be sufficiently fast.
400+ constructors are needed because it's the full operational
semantics (in pretty-big-step) of ES5 Javascript expressions (see
https://github.com/jscert/jscert/blob/master/coq/JsPrettyRules.v). I
doubt that it can be refactored into multiple inductives at this point
in the development.
On a side note, is there a way, when doing Check ________, of
instructing Coq to print the statement fully, without putting two dots
(..) in places where it estimates the printout would be too large or
poorly formatted?
Cheers,
Petar
On 9 September 2015 at 13:55, Cedric Auger
<sedrikov AT gmail.com>
wrote:
>
>
> 2015-09-09 13:52 GMT+02:00 Cedric Auger
> <sedrikov AT gmail.com>:
>>
>>
>>
>> 2015-09-08 21:44 GMT+02:00 Gregory Malecha
>> <gmalecha AT cs.harvard.edu>:
>>>
>>> You might be able to do something with computation, but it depends on
>>> your exact of [inversion]. If you were doing equalities then you might be
>>> able to write a lemma like:
>>>
>>> Lemma inv_my_type_eq : forall a b : my_type,
>>> a = b ->
>>> match a , b with
>>> | ... , ... => ....
>>> end.
>>
>>
>> I would advise to be more careful if you have 400+ constructors. This kind
>> of pattern matching expands to 1600+ cases, and is not especially wishable.
>
>
> I meant 160,000
>
> cases.
- Re: [Coq-Club] Speeding up inversion on large inductives, (continued)
- Re: [Coq-Club] Speeding up inversion on large inductives, Petar Maksimovic, 09/10/2015
- Re: [Coq-Club] Speeding up inversion on large inductives, Enrico Tassi, 09/10/2015
- RE: [Coq-Club] Speeding up inversion on large inductives, Soegtrop, Michael, 09/10/2015
- Re: [Coq-Club] Speeding up inversion on large inductives, Thomas Braibant, 09/10/2015
- Re: [Coq-Club] Speeding up inversion on large inductives, Jean-Francois Monin, 09/10/2015
- Re: [Coq-Club] Speeding up inversion on large inductives, Cedric Auger, 09/09/2015
- Re: [Coq-Club] Speeding up inversion on large inductives, Cedric Auger, 09/09/2015
- Re: [Coq-Club] Speeding up inversion on large inductives, Petar Maksimovic, 09/09/2015
- Re: [Coq-Club] Speeding up inversion on large inductives, Pierre Courtieu, 09/09/2015
- Re: [Coq-Club] Speeding up inversion on large inductives, Clément Pit--Claudel, 09/09/2015
- Re: [Coq-Club] Speeding up inversion on large inductives, Petar Maksimovic, 09/09/2015
- Re: [Coq-Club] Speeding up inversion on large inductives, Cedric Auger, 09/09/2015
Archive powered by MHonArc 2.6.18.