Skip to Content.
Sympa Menu

coq-club - Re: [Coq-Club] simpl as a function

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

Re: [Coq-Club] simpl as a function


Chronological Thread 
  • From: Adam Chlipala <adamc AT csail.mit.edu>
  • To: t x <txrev319 AT gmail.com>
  • Cc: coq-club <coq-club AT inria.fr>
  • Subject: Re: [Coq-Club] simpl as a function
  • Date: Sun, 18 Aug 2013 12:28:54 -0400

It is a feature, not a bug, that Gallina considers definitionally equal terms to be indistinguishable from each other.  [simpl] reduces a term to another that is definitionally equal to it; in other words, from Gallina's perspective, it's an identity function.  There is no way to talk about term reduction directly within Gallina.

On 08/18/2013 12:06 PM, t x wrote:
With apologies for my stupidity, this looks like a tactic, not a function. Can you wrap this in a :

Definition simp_as_function H := ...  ?


On Sun, Aug 18, 2013 at 2:07 PM, Jason Gross <jasongross9 AT gmail.com> wrote:

Does the ltac [let H0' := (eval simpl in H0) in set (H0'' := H0')] do what you want?  Alternatively, if you are trying to construct a proof without ltac, [Definition foo := Eval simpl in <_expression_>.]

-Jason

On Aug 18, 2013 9:53 AM, "t x" <txrev319 AT gmail.com> wrote:
Is there a Coq function which does the same as simpl?

I.e. "simpl in H0" vs (set H0 := magic_function H0)

I'm playing around with pattern matching / trying to construct proofs by functions -- and I find myself constantly wanting to have a "simpl" function to simplify terms.

Thanks!





Archive powered by MHonArc 2.6.18.

Top of Page