coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: CHAUVIN Barnabe <barnabe.chauvin AT gmail.com>
- To: coq-club AT inria.fr
- Subject: Re: [Coq-Club] Using the [cut] tactic in hypothesis
- Date: Sun, 28 Dec 2014 17:02:11 +0100
Thank you for your answer ! This is much clearer :) I have another question, not really related to the [cut] tactic : I have the following hypothesis : x : Z y : Z H : x * y = 1 H1 : x <> 1 H2 : x <> -1 How can I prove the contradiction here ? On 25/12/2014 00:44, Abhishek Anand
wrote:
The rewrite tactic can be used to rewrite in
hypothesis. Here is an example:
Require Import ZArith.
Open Scope Z_scope.
Lemma xyz : forall a:Z, a + - a = 2 -> False.
intros a H.
rewrite Zegal_left in H.
Use the ring properties of arithmetic on Z, e.g.
associativity, commutativity, distributivity etc.
http://en.wikipedia.org/wiki/Ring_%28mathematics%29
You can either manually invoke the ring lemmas, or
assert the equality you want and prove it by the ring
tactic.
I'll show the second option here:
Require Import ZArith.
Open Scope Z_scope.
Lemma xyzz : forall (x0 x1 a: Z),
x0 * (x1 * a) + - a = a * (x0 * x1 - 1).
intros.
ring.
Qed.
The lemma you are looking for is Z_zerop. Here's how I
found it:
SearchPattern ( {?z=0} + {?z<>0}).
On bad days, I might have to issue more queries like
SearchPattern ( {?z<>0} + {?z = 0}).
SearchPattern ( {?z<>0} + {0 = ?z}).
.... i.e their might be a lemma with a logically
equivalent, but syntactically different form.
My question to Coq gurus : Is there a smarter version
of SearchPattern?
Regards,
-- Abhishek
http://www.cs.cornell.edu/~aa755/ |
- [Coq-Club] Using the [cut] tactic in hypothesis, CHAUVIN Barnabe, 12/24/2014
- Re: [Coq-Club] Using the [cut] tactic in hypothesis, Abhishek Anand, 12/25/2014
- Re: [Coq-Club] Using the [cut] tactic in hypothesis, Jonathan Leivent, 12/25/2014
- Re: [Coq-Club] Using the [cut] tactic in hypothesis, CHAUVIN Barnabe, 12/28/2014
- Re: [Coq-Club] Using the [cut] tactic in hypothesis, Frédéric Besson, 12/28/2014
- Re: [Coq-Club] Using the [cut] tactic in hypothesis, Abhishek Anand, 12/25/2014
Archive powered by MHonArc 2.6.18.