coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: Ramkumar Ramachandra <artagnon AT gmail.com>
- To: coq-club AT inria.fr
- Subject: [Coq-Club] [HELP] Recovering information after the `generalize` tactic
- Date: Mon, 15 Jan 2018 15:15:35 -0800
- Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=artagnon AT gmail.com; spf=Pass smtp.mailfrom=artagnon AT gmail.com; spf=None smtp.helo=postmaster AT mail-yw0-f182.google.com
- Ironport-phdr: 9a23:31E+kB1UyVUr8m7ysmDT+DRfVm0co7zxezQtwd8Zse0WLfad9pjvdHbS+e9qxAeQG9mDsrQc06L/iOPJYSQ4+5GPsXQPItRndiQuroEopTEmG9OPEkbhLfTnPGQQFcVGU0J5rTngaRAGUMnxaEfPrXKs8DUcBgvwNRZvJuTyB4Xek9m72/q99pHPfglEniaxba9vJxiqsAvdsdUbj5F/Iagr0BvJpXVIe+VSxWx2IF+Yggjx6MSt8pN96ipco/0u+dJOXqX8ZKQ4UKdXDC86PGAv5c3krgfMQA2S7XYBSGoWkx5IAw/Y7BHmW5r6ryX3uvZh1CScIMb7S60/Vza/4KdxUBLmiCkJOT0k/m/JlsN9l7hUrA67qhFl34LYfIOYOfxjda3dZ9MaQm9BU95NWSNbB4O8bJYPD+8bMuZCsoLzu0EBrR6kCgawBOPg0DlIiWLs3aIgzu8sFhvJ3BY8H90Uv3TUqtL1NKEJXOC6yanH1zTDb/dM1Tjh74jIdwksrPeRVrxzacrc0VcjGx/Bg1mKqoHoPymZ2vkMvmSG9eZsSOGih3AhpgpsuDag3N0shZPMho8NylDL6yF5wIEtKN29UkF7YNqkHIJQtiCUK4d6W80iT3xrtSok0LEGtpm7fC8FyJQj2RHTceCIc4+N4h77VeaRJyl3hG59db6hmxq/9VKsx+78W8WuzVpHrzdJnsPRun0OyRDf8s2HReF8/kel1zaPzQfT6uRcLE8uj6rbN4QuwrE2lpoUt0TOBSD2mEDsg6+XckUo4PSn6+PiYrn+vJ+TK5d0ih3iMqQpgsGwHeM4MhEXU2eH/eS8yabs8FbiQLRKi/02irPWvIrbJcQdvK65AhVa3pwt6xalXH+a14ETmmBCJ1ZYcjqGiZLoMhfAOqPWF/C61m6llTR2wvncdofoB5zGLnHFnK3oNeJ08VJVxww0y/hQ4ptVDvcKJ/elCRy5j8DREhJsa1/8+O3gEtgojtpPC1LKObeQNebpiXHN4+suJ+eWY4pM4WTyLvEk47jlinprwAZBL5ns5oMebTWDJtojO1+QOCO+jdIIEGNMtQ07HrSz1Q+yFAVLbnP3ZJoSozE2DIX8U9XGT4Gpxa2ehGK1R80MIG9BDV+IHDHjcIDWA/o=
Hi,
I have the following problem, which I found very difficult to proceed with, without the use of `generalize`:
Theorem readEvalLoop_ind : forall steps blk t,
let blk' := augmentBlk (blk ++ issueVerdicts t) t in
let t' := commitBlock blk' (updateRunningCounters blk' t) in
readEvalLoop (steps + 3) propose blk t = readEvalLoop steps propose blk' t'.
Proof.
intros.
induction steps.
rewrite add_0_1; reflexivity.
generalize (S steps).
intro n; replace n with steps.
induction steps.
rewrite add_0_1; reflexivity.
generalize dependent (S steps).
intro n0; replace n0 with steps.
apply IHsteps0.
Abort.
Here, readEvalLoop is a Fixpoint, which has three evaluation steps. Unfortunately, my strategy leaves me with the following hypotheses/goals:
- steps: nat
- blk: list registration
- t: serverState
- blk':= augmentBlk (blk ++ issueVerdicts t) t : block
- t':= commitBlock blk' (updateRunningCounters blk' t) : serverState
- n: nat
- IHsteps0: readEvalLoop (steps + 3) propose blk t = readEvalLoop steps propose blk' t' -> readEvalLoop (steps + 3) propose blk t = readEvalLoop steps propose blk' t'
- n0: nat
- 1/2steps = n0
- 2/2steps = n
What are n0 and n? Where are they used? Can I somehow use `specialize`?
I'm having a hard time imagining where `generalize` would be useful, because it seems like you'll always end up with absurd things like this to prove.
Thanks.
Ram
- [Coq-Club] [HELP] Recovering information after the `generalize` tactic, Ramkumar Ramachandra, 01/16/2018
- Re: [Coq-Club] [HELP] Recovering information after the `generalize` tactic, Guillaume Melquiond, 01/16/2018
- Re: [Coq-Club] [HELP] Recovering information after the `generalize` tactic, Pierre Courtieu, 01/16/2018
- Re: [Coq-Club] [HELP] Recovering information after the `generalize` tactic, Ramkumar Ramachandra, 01/17/2018
- Re: [Coq-Club] [HELP] Recovering information after the `generalize` tactic, Pierre Courtieu, 01/17/2018
- Re: [Coq-Club] [HELP] Recovering information after the `generalize` tactic, Ramkumar Ramachandra, 01/18/2018
- Re: [Coq-Club] [HELP] Recovering information after the `generalize` tactic, Pierre Courtieu, 01/18/2018
- Re: [Coq-Club] [HELP] Recovering information after the `generalize` tactic, Ramkumar Ramachandra, 01/18/2018
- Re: [Coq-Club] [HELP] Recovering information after the `generalize` tactic, Pierre Courtieu, 01/17/2018
- Re: [Coq-Club] [HELP] Recovering information after the `generalize` tactic, Ramkumar Ramachandra, 01/17/2018
- Re: [Coq-Club] [HELP] Recovering information after the `generalize` tactic, Pierre Courtieu, 01/16/2018
- Re: [Coq-Club] [HELP] Recovering information after the `generalize` tactic, Guillaume Melquiond, 01/16/2018
Archive powered by MHonArc 2.6.18.