Skip to Content.
Sympa Menu

coq-club - [Coq-Club] bug in autorewrite?

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

[Coq-Club] bug in autorewrite?


chronological Thread 
  • From: Christian Doczkal <doczkal AT ps.uni-sb.de>
  • To: "coq-club AT pauillac.inria.fr" <coq-club AT pauillac.inria.fr>
  • Subject: [Coq-Club] bug in autorewrite?
  • Date: Fri, 18 Dec 2009 11:42:03 +0100
  • List-archive: <http://pauillac.inria.fr/pipermail/coq-club/>
  • Resent-date: Fri, 18 Dec 2009 13:48:00 +0100 (MET)
  • Resent-from: coq-club-admin AT pauillac.inria.fr
  • Resent-message-id: <200912181248.NAA11314 AT pauillac.inria.fr>
  • Resent-to: coq-club AT inria.fr

Hello

Not sure whether the list is the right place to put it, since I'm
reasonably sure this is a bug.

Consider the following code (* and behavior *):


Hypothesis IMP : forall P Q : Prop,  (P -> Q) = (~ P \/ Q).
(** can of course be proven using classic and propositional
extensionality *)

Hint Rewrite IMP : elim_connectives.

Lemma L1 : forall X (f g : X -> X -> X -> Prop) , f = f. 
  intros.
  autorewrite with elim_connectives in *.
  (* autorewrite rewrites IMP in g but not in f, 
     leaving an ill typed g *)
  reflexivity. (* Here I get "Proof completed" *)
Qed. (* Fails with a typing error *)


This behavior raises 2 questions:

1. Why does autorewrite rewrite in g although the lemma does not apply
2. Why doesn't it rewrite in f, which has the same type (but occurs in
the goal)


-- 
Regards
Christian




Archive powered by MhonArc 2.6.16.

Top of Page