Skip to Content.
Sympa Menu

coq-club - Re: [Coq-Club] How can I make this reasoning step in Coq ?

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

Re: [Coq-Club] How can I make this reasoning step in Coq ?


chronological Thread 
  • From: Edsko de Vries <Edsko.de.Vries AT cs.tcd.ie>
  • To: Matej Kosik <kosik AT fiit.stuba.sk>
  • Cc: coq-club AT pauillac.inria.fr
  • Subject: Re: [Coq-Club] How can I make this reasoning step in Coq ?
  • Date: Thu, 23 Apr 2009 13:02:33 +0100
  • List-archive: <http://pauillac.inria.fr/pipermail/coq-club/>

Hi,

In Coq, it is possible to make the following reasoning steps:

           E |- ~p
        E, p |- False

with the `intro' tactics. Both that lines above are meant to be
"sequents" where |- separates the antecedent and the succedent.

With what tactics can I perform the following reasoning step:

            E |- p
        E, ~p |- False

Remember that ~ is a function (~p is syntactic sugar for p -> False). Hence, you can do this reasoning step as follows:

Variable E p : Prop.

Lemma foo : (E -> p) -> (E /\ ~p -> False).
Proof.
  intros H1 H2.
  destruct H2 as (e, not_p).
  apply not_p.
  apply H1.
  apply e.
Qed.

Edsko





Archive powered by MhonArc 2.6.16.

Top of Page