coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: Kevin Sullivan <sullivan.kevinj AT gmail.com>
- To: "coq-club AT inria.fr" <coq-club AT inria.fr>
- Subject: [Coq-Club] A simpl question
- Date: Thu, 23 Jan 2014 11:12:09 -0500
I'm trying to convince myself that I fully understand the differences between compute and simpl. I'm not yet convinced. Maybe someone here can help.
Starting with this:
Theorem t2: forall n: nat, (plus n O) = n.
Proof.
induction n as [ | n'].
Applying simpl gives me what I need: S (plus n' O) = S n'.
Applying compute, which is "more powerful" (CPDT), gives me this:
S
((fix plus (n1 n2 : nat) {struct n1} : nat :=
match n1 with
| O => n2
| S n'0 => S (plus n'0 n2)
end) n' O) = S n'
I'm not immediately seeing how to get from there back to this: S (plus n' O) = S n'.
In particular, applying the various cbv variants does't seem to help.
Is simpl doing something that compute isn't?
Kevin
- [Coq-Club] A simpl question, Kevin Sullivan, 01/23/2014
- Re: [Coq-Club] A simpl question, Cedric Auger, 01/23/2014
- Re: [Coq-Club] A simpl question, Kevin Sullivan, 01/23/2014
- Re: [Coq-Club] A simpl question, Cedric Auger, 01/23/2014
Archive powered by MHonArc 2.6.18.