Skip to Content.
Sympa Menu

coq-club - [Coq-Club] Is there something like especialize?

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

[Coq-Club] Is there something like especialize?


Chronological Thread 
  • From: "Soegtrop, Michael" <michael.soegtrop AT intel.com>
  • To: "coq-club AT inria.fr" <coq-club AT inria.fr>
  • Subject: [Coq-Club] Is there something like especialize?
  • Date: Mon, 30 Apr 2018 08:08:24 +0000
  • Accept-language: de-DE, en-US
  • Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=michael.soegtrop AT intel.com; spf=Pass smtp.mailfrom=michael.soegtrop AT intel.com; spf=None smtp.helo=postmaster AT mga02.intel.com
  • Dlp-product: dlpe-windows
  • Dlp-reaction: no-action
  • Dlp-version: 11.0.200.100
  • Ironport-phdr: 9a23:Q9hRERBmXakXsLH02fRAUyQJP3N1i/DPJgcQr6AfoPdwSPT/ocbcNUDSrc9gkEXOFd2Cra4c0KyO6+jJYi8p2d65qncMcZhBBVcuqP49uEgeOvODElDxN/XwbiY3T4xoXV5h+GynYwAOQJ6tL1LdrWev4jEMBx7xKRR6JvjvGo7Vks+7y/2+94fcbglUijexe69+IAmrpgjNq8cahpdvJLwswRXTuHtIfOpWxWJsJV2Nmhv3+9m98p1+/SlOovwt78FPX7n0cKQ+VrxYES8pM3sp683xtBnMVhWA630BWWgLiBVIAgzF7BbnXpfttybxq+Rw1DWGMcDwULs5Xymp4aV2Rx/ykCoJNyA3/nzLisJ+j6xboQ6uqBNkzoHOfI2YMOBzcr/Bcd8EQ2dKQ8ZfVzZGAoO5d4YDAfcPPeFGoInyu1sOtxy+BRG0COjyzTFIh2P53a0g3Os/FQHK0hErEtULsHTVsNr1NL0dXv6xzKXS1jXDaO1Z2Tjh6IjSdRAhueqBXbN2ccrN10YvExnJgUmXqYzgJj6Y0PkGvWac7+plT+2vimgnphlwojip2scjlI3JipgIxV/a8yhy3YU7JcWgRUJmb9OpH4FcuzyUOoZ5WM8uXm9ltScgxrEYpZK3ZDUGxZUpyhLFZfGKfZKE7gztWeuVOzt0mXFodKynixqv8EWtzvfwWte03VtFtCZJjMPAum4C2hHX7MWMV+Fz8V272TmV0gDe8uFELl4wlarcM5Mhx7EwmYAPvUjdBCP2mUP2jLOIeUUg4OSn9+PnYrD+qp+dMY97lB3+P7wzlsGxDuk0KBUCUmaU9OimybHu80z0TK9UgvEqiqXZtYrVJcUfpq63GQ9V1YMj5g66DzenzNsYnWMII0xBeB6dlIjpPE/BIP/kDfelhFSsiCxmx/HAPr39HJrNKmLPn6vmfbZ480Jc0hY8zchD55JIDbEMOO78WkjotNDBEhA5NxG0zP38BdVm1oIeXHqPDbWDPKPTt1+I/OMvLPOWaI8bojauY8QisrTlimZ8klsAd4Go24EWYTa2BL4ud06eeD/nhsoLOWYMpAs3CuLw3g6sSzlWMjyJWK8z+is8EMbuKIbIRomghPbJiCK6FZ1fa2QAEVeBHmvycJ2sWvEQZSbUKchkxG9XHYO9QpMsgEn9/DTxzKBqe7KNq38o8Kn73d0w3NX90BQ79Dh6FcOYijjfTmdok2dOTDgzjvkm/R5Nj2yb2K09uMR2UMRJ7qoQAAY8KZPYied9DoKqA1+TTpKyUF+jB+6eL3QxQ9Y2moBcZkl0Q4/kjxbf0i7sCLgQxeSG

Dear Coq Users,

 

I am frequently in the situation like

 

H: P->Q

---------

False

 

For some P and Q such that (P->Q)->False.

 

Now I would like to work on the hypothesis P. In my case this would be most convenient using a sequence of eapply tactics. The most convenient way I found to do this is

 

assert (P) as HP.

<many eapply to get P>.

specialize (H HP).

(inversion of H (which is Q now) leads to a contradiction)

 

Using evar and specialize with these evars also somehow works, but is much less convenient (I need about 10 evars for the case, and for half of them the type also needs to be an evar). eapply can resolve all this nicely.

 

But I don’t like asserting P, because cut and paste assert proofs are usually not very readable / maintainable. Ok, I can write an Ltac to assert the premises of a given hypothesis or use “lapply H. intros HP. all: swap 1 2.”, … but still I don’t like it. I would find it most natural to work backwards incrementally on P with something like “especialize”, a variant of specialize allowing holes and working with evars like eapply. Is there some direct way (without assert) to work on P as if it would be the current goal? Note: eapply in H would go forward from Q, not backward from P.

 

Are there any other tactics than specialize to work on P?

 

Best regards,

 

Michael

Intel Deutschland GmbH
Registered Address: Am Campeon 10-12, 85579 Neubiberg, Germany
Tel: +49 89 99 8853-0, www.intel.de
Managing Directors: Christin Eisenschmid, Christian Lamprechter
Chairperson of the Supervisory Board: Nicole Lau
Registered Office: Munich
Commercial Register: Amtsgericht Muenchen HRB 186928




Archive powered by MHonArc 2.6.18.

Top of Page