Skip to Content.
Sympa Menu

coq-club - Re: [Coq-Club] How do I simplify a particular redex exactly once?

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

Re: [Coq-Club] How do I simplify a particular redex exactly once?


Chronological Thread 
  • From: "jonikelee AT gmail.com" <jonikelee AT gmail.com>
  • To: Agnishom Chattopadhyay <agnishom AT cmi.ac.in>
  • Cc: coq-club AT inria.fr
  • Subject: Re: [Coq-Club] How do I simplify a particular redex exactly once?
  • Date: Wed, 27 May 2020 17:13:51 -0400
  • Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=jonikelee AT gmail.com; spf=Pass smtp.mailfrom=jonikelee AT gmail.com; spf=None smtp.helo=postmaster AT mail-qk1-f170.google.com
  • Ironport-phdr: 9a23:h+GTHB118jcOxX/RsmDT+DRfVm0co7zxezQtwd8ZseMRKfad9pjvdHbS+e9qxAeQG9mCtrQd0bad6vu9EUU7or+5+EgYd5JNUxJXwe43pCcHRPC/NEvgMfTxZDY7FskRHHVs/nW8LFQHUJ2mPw6arXK99yMdFQviPgRpOOv1BpTSj8Oq3Oyu5pHfeQpFiCe9bL9oMRm6swrcusYLjYZsKqs61wfErGZPd+lK321jOEidnwz75se+/Z5j9zpftvc8/MNeUqv0Yro1Q6VAADspL2466svrtQLeTQSU/XsTTn8WkhtTDAfb6hzxQ4r8vTH7tup53ymaINH2QLUpUjms86tnVBnlgzocOjUn7G/YlNB/jKNDoBKguRN/xZLUYJqIP/Z6Z6/RYM8WSXZEUstXSidPAJ6zb5EXAuQPPehWsZTzqVgMohuwAgejC//gxDBTi3/q36A3yfgtHBva0AA+Gd8FrXTarM/yNKcXSe25wqvIzTLFb/NX2jfy9ozIfQ4/rvyXUrJwdNDeyUgrFw/fklqQronlMz2I3ekKsWib6OxgVeOsi2E5rwF+vCagy9wjionMnI0Vy1TE+T9lz4YyIN21UUh2asOrH5VMrS+VLZd2Qt88TGFyviY30qEKtJGmcCQX1pkqxx3SZv+IfoWW7BzuW+ifLDl2iX57dr+yhwu//FWgxODyS8W5zlhEozRGn9fCsn0D1xzd58uBR/Bg/UmhwS6C2x7P5uxAO0w5lqrWJ4Q/zrIuiJYfq1nPEy3qlEnukqObd1ko9vWt5uj6ZrjpupqROoB1hw3iLqgjn9GzDOojPQgAWmWW9+ex2bL98UD8QLhFk/M2kqfcvZDUO8sXu7O1Dgpa34si9hqwFDGr28kCk3YdNlJKYheHgpDpO17QJPD4Cu+yg1G2nzdqw/DKJ6ThApbQInTanrftYLRw51JGxAo8ytBf4J1UCrUfL/7pRkDxs9nYAgc4Mwyy3ennFM1w2p0CVW+LGKOUM6PfvUWW6u4xPeWAfpIZtTThJ/Q94v7hl345mVsTfamz2psXbWi1HvZhI0WfYHrsgckOEWMUsQUgV+Hqh1iCXiRSZ3a2Ra4z+jY7CIe+AYfZWo+tmKCB3Du8HpBOem9GDUmMHW70eIWARvcDczmfItRhkzwBTbiuUZUt1RCotA/gyrpoNPDY+iMCtcGr6N8gzuLVlAoy8jk8JMSUz32KV2h4nnIBVndi1a95oFd9zVKr2q15xfVTU91VsaBnSAA/YNTeyOp7CN32Vw/pcdKASVLgSdKjS3llTNU3wtwDZ0twM9qnhxHHmSGtBulGxPSwGJUo//eEjDDKLMFnxiODjfF51gV0co50LWSjw5VH2U3LHYeQyheWkq+rceIX2yufrD7en1rLh1lRVUtLaYuAXX0bYRGI/9Hw50eHVrz3TLp+bVMHxsmFJa9HLNbuiAceHaaxCJHle2u03lyIK1ONz7KIYpDtfjxEjirYAUkA1QsU+CTfOA==

Does the hnf tactic work?


On Wed, 27 May 2020 10:55:26 -0500
Agnishom Chattopadhyay <agnishom AT cmi.ac.in> wrote:

> I have something like:
>
> Inductive Formula {A : Type} : Type :=
> | FAtomic : (A -> bool) -> Formula
> | FAnd : Formula -> Formula -> Formula
> | FOr : Formula -> Formula -> Formula
> .
>
> and something like
>
> Fixpoint eval {A : Type} (f : @Formula A) (x : A) : bool :=
> match f with
> | FAtomic f => f x
> | FAnd f g => (eval f x) && (eval g x)
> | FOr f g => (eval f x) || (eval g x)
> end.
>
> Now, let's say I have a proof and I have an expression e = (FAnd (FOr
> f g) h), and I am trying to simplify (eval e x). If I simply suggest
> `simpl.`, Coq simplifies it all the way down. How can I control simpl
> so that only the first FAnd is simplified but the FOr is not?
>
> Currently, I am using "replace ... with ... " but this requires me to
> type out all the details, which is very painful. The actual formula
> and eval that I have are more complex than this.
>
> Another option seems to be `remember (FOr f g) as z.` and then doing
> `simpl.`, but this is also not very nice since I have to copy large
> chunks of the expression to my proof.




Archive powered by MHonArc 2.6.19+.

Top of Page