Skip to Content.
Sympa Menu

coq-club - Re: Unfolding definitions?

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

Re: Unfolding definitions?


chronological Thread 
  • From: "Randy Pollack" <rap AT dcs.ed.ac.uk>
  • To: Patrick.Loiseleur AT lri.fr
  • Cc: coq AT pauillac.inria.fr, coq-club AT pauillac.inria.fr
  • Subject: Re: Unfolding definitions?
  • Date: Wed, 3 Mar 1999 17:27:13 GMT

Patrick,

loisel> I'm not sure I've exactly understood what you mean.

Let me ask my question with a clear example.  Consider the commands:

  Reset Initial.
  Require Export Relations.
  Record Setoid : Type :=
    { s_el    :> Set;
      s_eq    :  (relation s_el);
      s_refl  :  (reflexive s_el s_eq)
    }.

I try to make s_refl into a hint for s_eq:

  Hints Resolve s_refl.

At this point s_refl is NOT known as a hint for s_eq:

  Coq < Print Hint s_eq.
  For s_eq ->   In the database v62 :
    In the database sets :
    In the database core :

Now I try to make the unfolded form into a hint:

  Definition s_refl_unfolded : (S:Setoid)(x:S)(s_eq S x x) := s_refl.
  Hints Resolve s_refl_unfolded.

The unfolded form DOES become a hint for s_eq.

  Coq < Print Hint s_eq.
  For s_eq ->   In the database v62 :
    In the database sets :
    In the database core :
  Apply s_refl_unfolded(0) 

The question: how can I use s_refl as a hint for s_eq without defining
an unfolded form?

Randy





Archive powered by MhonArc 2.6.16.

Top of Page