Skip to Content.
Sympa Menu

coq-club - [Coq-Club] Simplifying a function (exactly) once?

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

[Coq-Club] Simplifying a function (exactly) once?


Chronological Thread 
  • From: Agnishom Chattopadhyay <agnishom AT cmi.ac.in>
  • To: coq-club AT inria.fr
  • Subject: [Coq-Club] Simplifying a function (exactly) once?
  • Date: Tue, 25 Feb 2020 15:18:21 -0600
  • Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=agnishom AT cmi.ac.in; spf=Pass smtp.mailfrom=agnishom AT cmi.ac.in; spf=None smtp.helo=postmaster AT mail.cmi.ac.in
  • Ironport-phdr: 9a23:K0j6MxKJKkVkDLc8Z9mcpTZWNBhigK39O0sv0rFitYgRLvjxwZ3uMQTl6Ol3ixeRBMOHsq4C2rCd6vy8EUU7or+/81k6OKRWUBEEjchE1ycBO+WiTXPBEfjxciYhF95DXlI2t1uyMExSBdqsLwaK+i764jEdAAjwOhRoLerpBIHSk9631+ev8JHPfglEnjWwba59IRmsqQjdqMYajZZtJ6s+1xDEvmZGd+NKyGxnIl6egwzy7dqq8p559CRQtfMh98peXqj/Yq81U79WAik4Pm4s/MHkugXNQgWJ5nsHT2UZiQFIDBTf7BH7RZj+rC33vfdg1SaAPM32Sbc0WSm+76puVRTlhjsLOyI//WrKjMF7kaBVrw+7pxFnzIHaYI+bOvljcK3DYdwXXnBOUtpLWiFbHo+wc4kCAuwcNuhYtYn9oF4OoAOiCAmjAuPvyyRIhn/x3a0/zu8sDwHG0xY8H9ISt3TUtM/6O7oSUeG11qbJzSjIYvRM1jfy7ojIcwshofGLXbJ1asfe1UwvFwLfglqKtYPpJTKV1uIUvmWd8uFuVvqvhnY6pw1vrDWj3MYhh4fTio4L1lzJ+z91zJgoKdGmUEJ3f8KoHZ9KuyyZN4Z6WN4uTmBptSogxbALu5i2dzUQxps93R7QcfmHfpCI4h39UOaRJi91hHd/d7K+gxa+61Svyuj9VsWuyllFsjBJktjKtnwV1hzT7NaISudl80u8xzqC2Rrf5+BKLEwui6bXN5AszqQumpYOr0jPBir2l1/3jK+SeEUk4O+o6+H/b7r8qZ+cMY50ihr+MqQpn8yyGvg3Mg0PX2SB4+uzyKfv/Uz/QLlSlP05jrHZsIzGJcQcvqO2HwhV0p865xmjCzemzc8XkGIcLFNFfRKHl5LmN0vPIPD+F/e/gk6jnC1lx/DcbfXdBcDGKWGGm7P8d5587VRdwUw914Nx/ZVRX5gOJvPoWkj0/PfYBwMlNBS9z+b2AcQ1gooRX2OUAqicGKjXsBmB7aQuJb/fN8cupD/hJq19tLbVhngjlApFJPX77d4scHm9W89eDQCBe3O124UKFGZMtwF4Teq40ATfAw4WXG67WucH3h9+CI+iCt6dFIWkgbjH1yK6WJRdIGFAWAjVQCXYMr6cUvJJUxq8Z8pokzgKT7+kEtZz3hSv8gbxjbthfLPZ

Is there a way to specify to simpl to stop simplifying after exactly one step?

Basically, I have something like f(f(x)) which simplifies to some _expression_ in f(x). I only wish to simply this once and NOT get rid of the inner f(x)

---

More details:

I have

Fixpoint eval2 {A: Type} (mon: Monitor A) (l : list A) : (bool * Monitor A) :=
  match l with
  | nil => (false, mon)
  | (x :: xs) => let (_, mon') := eval2 mon xs in
               (mNext mon' x)
  end.

In a certain proof, I have

E3 : eval2 (MonAnd mon1 mon2) (a0 :: l) = (bl, ml)
and
H3 : eval2 (MonAnd mon1 mon2) (a :: a0 :: l) = (true, x)

I wish to use E3 effectively after simplifying H3 by one step. However, when I try to use simpl in H3, I get

H3 : (let (_, mon') :=
          let (_, mon') := eval2 (MonAnd mon1 mon2) l in mNext mon' a0 in
        mNext mon' a) = (true, x)



Archive powered by MHonArc 2.6.18.

Top of Page