Skip to Content.
Sympa Menu

coq-club - Re: [Coq-Club] can't work with eq

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

Re: [Coq-Club] can't work with eq


chronological Thread 
  • From: "Andrew McCreight" <continuation AT gmail.com>
  • Cc: coq-club AT pauillac.inria.fr
  • Subject: Re: [Coq-Club] can't work with eq
  • Date: Wed, 24 Sep 2008 08:39:35 -0400
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:subject:cc:in-reply-to:mime-version :content-type:references; b=RBXIE1c1PiNXn4nDr7cPiKsW2ug7jWzj4BTEoDO5TE+DPq6AoAUbMo9wk8tOC7zam+ aWK28fdYh9Gei93V2koqZOTg9rp7na9+HNh4yMN9K27ik+9H7TVi/fIzGkdQasX06nq3 PdyHzuDaxMZGXVtKWKSMQagaB35fRFeToN9Ow=
  • List-archive: <http://pauillac.inria.fr/pipermail/coq-club/>

There actually is a similar question, further down the list: "How can I prove that two constructors are different?"  It does not go into any detail, though.  But generally, the FAQ is a good starting point, as it will give you the name of a tactic.  Then you can switch over to the manual and read up on the details.  I think the manual has examples and talks about how discriminate is implemented, as Stefan described.


-Andrew



On Wed, Sep 24, 2008 at 2:44 AM, Yves Bertot <Yves.Bertot AT sophia.inria.fr> wrote:
Andrew McCreight wrote:
Section 6 of the Coq FAQ is very useful for these sorts of things.  It has a
series of questions like " My goal is a conjunction, how can I prove
it?<http://coq.inria.fr/V8.1/faq.html#htoc53>",

which is useful when you have some goal you want to prove, but no idea what
tactic should be used.  (That's kind of the opposite of what you asked for,
but I think knowing what tactic solves a particular goal is more useful when
starting out than knowing what a particular tactic does.)
 
I did not know that this faq existed.  The only point here is that there appears to
be no question corresponding to a use of discriminate, something like:

"My goal is a disequality, how can I prove it?"

and the answer would be:

"in many cases, disequalities relate directly two constructors of an inductive type,
in these case you can use the "discriminate" tactic.  If you don't know whether the
two members of your disequality are constructors, calling discriminate is still worth a
try."

Going much more into details, about the difference between constructors and other
functions, etc. requires a long answer, probably not adapted to a faq (although
some of the answers of the current faq are quite long, because they contain examples).




Archive powered by MhonArc 2.6.16.

Top of Page