Skip to Content.
Sympa Menu

coq-club - Re: [Coq-Club] transparent assert?

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

Re: [Coq-Club] transparent assert?


chronological Thread 
  • From: Arnaud Spiwack <aspiwack AT lix.polytechnique.fr>
  • To: coq-club AT inria.fr
  • Cc: Michael Shulman <mshulman AT ucsd.edu>
  • Subject: Re: [Coq-Club] transparent assert?
  • Date: Wed, 4 May 2011 10:43:43 +0200
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:from:date :x-google-sender-auth:message-id:subject:to:cc:content-type; b=fzcdEKni8JKUd5upC7385TQMxLM9Pj2aucovhum7w97cu2B3DjN326nP1rOPcJ+x+T onXzXFIXlbUbH8PBjsvomLrcz3hcWDDmBwF0Z1JCzCR2j/1bXDpYitJQwYlBD6WAgMDr ZMLaBlwB1RqLYl+NsEn1TtoqDnJ/MbdpgrU68=

There is mostly no way around it. This was the main motivation for my re-engineering of the mechanism underlying proofs-by-tactics. In a future release it will be made possible.


Arnaud

On 3 May 2011 00:17, Michael Shulman <mshulman AT ucsd.edu> wrote:
Hi everyone,

Suppose I have a goal whose conclusion is of the form { x:X & P x }.
Is there a way to write a proof script that first constructs an
element x0:X via tactics, instantiates x with x0, and then constructs
an element of P x0?  Saying

assert (x0:X).
...
exists x0.

doesn't work because x0 is then opaque, whereas I generally need to
know what it is in order to construct the desired element of P x0.

The only thing I have found to do when I run into this problem is to
copy all the hypotheses of the current goal into a separate lemma
whose conclusion is X, prove the lemma and finish it with "Defined"
to make the term transparent, then go back to the original proof and
say "exists (lemma ...)".  This works, but it is somewhat tedious; is
there a better way?

Thanks!
Mike




Archive powered by MhonArc 2.6.16.

Top of Page