Skip to Content.
Sympa Menu

coq-club - [Coq-Club] Fwd: Re: Ending a section and its dependency analysis of global objects in it

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

[Coq-Club] Fwd: Re: Ending a section and its dependency analysis of global objects in it


Chronological Thread 
  • From: Jonathan <jonikelee AT gmail.com>
  • To: Coq Club <coq-club AT inria.fr>
  • Subject: [Coq-Club] Fwd: Re: Ending a section and its dependency analysis of global objects in it
  • Date: Thu, 26 Jun 2014 11:36:28 -0400

[oops - I hit reply instead of reply-list - forwarding...]


-------- Original Message -------- Subject: Re: [Coq-Club] Ending a section and its dependency analysis of global objects in it Date: Thu, 26 Jun 2014 11:35:04 -0400 From: Jonathan <jonikelee AT gmail.com> To: AUGER Cédric <sedrikov AT gmail.com>

On 06/26/2014 03:39 AM, AUGER Cédric wrote:
> Of course, having interactive abstract would be way better.

I think the problems I was having with Sections just means that one 
shouldn't use Sections for interactive abstract - so here's an 
alternative proposal:

Given a goal that does not contain evars, use emacs to turn the goal 
into a definition that is introduced into the current script just prior 
to the definition that produced the goal - and initially prove this new 
definition with admit.  That requires undoing back in the script - but 
once the new definition is proved via admit, one can roll forward back 
to the originating goal.  Then, prove that goal using eapply Foo; 
assumption (assuming Foo is the name chosen for the abstracted-out 
definition) - so that which actual arguments end up being used by Foo is 
not hard-wired into the proof script.

Or, if you can tolerate definitions in the middle of other definitions 
(Coq allows them - but does anyone use this feature?), the 
roll-back-roll-forward steps can be omitted, and the new abstracted-out 
definition gets inserted right in-line of the current proof script at 
the point of the goal it abstracts.

Later, prove Foo (in place of admitting it).  Then, apply another emacs 
function on that definition that deletes its arguments one at a time 
starting with the last and working backwards - each time checking if Foo 
can still be proven with the given script.  This is basically a 
"meta-ized" version of what Jason has done for abstract, using emacs 
instead of Ltac to do the dependency filtering (that I had wished 
Section would already be doing).

I am not an accomplished emacs hacker, but this doesn't seem like it 
would require much...

-- Jonathan





  • [Coq-Club] Fwd: Re: Ending a section and its dependency analysis of global objects in it, Jonathan, 06/26/2014

Archive powered by MHonArc 2.6.18.

Top of Page