Skip to Content.
Sympa Menu

coq-club - [Coq-Club]Tactic for removing infinite inductive types

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

[Coq-Club]Tactic for removing infinite inductive types


chronological Thread 
  • From: "Peter Hawkins" <hawkinsp AT cs.stanford.edu>
  • To: coq-club AT pauillac.inria.fr
  • Subject: [Coq-Club]Tactic for removing infinite inductive types
  • Date: Fri, 26 Jan 2007 13:45:12 -0800
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:sender:to:subject:mime-version:content-type:content-transfer-encoding:content-disposition:x-google-sender-auth; b=AdyCuZDX9pp0R69HnDnBUHY3mKyNz3ekddLyS5ZTLtZHJ9Ln7Trz2sDfcI8FoVaQBwnwPPqXy6dykVlB0kuAwY1CDLSpgwnOSAlXdSuE4ZHNWf1jlRBrRt/NF5Vs00H/i2Ri88v7teP6qVpoG9nylJiEiRiKINcoT9uDysVYlyg=
  • List-archive: <http://pauillac.inria.fr/pipermail/coq-club/>

Hi...

I'm wondering whether there's a quick way to discount goals with
hypotheses of this form:
EqH: s = a::s
s: list A
a: A
A: Set

I can prove this lemma:
Lemma list_not_rec: forall (A:Set) (s:list A) i, s = i::s -> False.
Proof.
 intros; induction s.
 discriminate.
 inversion H. auto.
Qed.

and solve my goal using:
elim (list_not_rec _ _ _ EqH).

but given that self-referential equalities like EqH cannot hold for
any (necessarily finite) instance of an inductive type, I was hoping
that there might be a more general tactic to handle these sorts of
hypotheses without doing one proof by induction for each type.

Cheers,
Peter





Archive powered by MhonArc 2.6.16.

Top of Page