coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: roux cody <cody.roux AT gmail.com>
- To: coq-club AT inria.fr
- Subject: Re: [Coq-Club] Fixpoint reduction?
- Date: Sat, 11 Jun 2016 18:01:26 -0400
- Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=cody.roux AT gmail.com; spf=Pass smtp.mailfrom=cody.roux AT gmail.com; spf=None smtp.helo=postmaster AT mail-oi0-f50.google.com
- Ironport-phdr: 9a23:y0SqNRTDSFAzq5GocfhXtlZ6Fdpsv+yvbD5Q0YIujvd0So/mwa64ZxCN2/xhgRfzUJnB7Loc0qyN4/GmBj1LuMjd+Fk5M7VyFDY9wf0MmAIhBMPXQWbaF9XNKxIAIcJZSVV+9Gu6O0UGUOz3ZlnVv2HgpWVKQka3CwN5K6zPF5LIiIzvjqbpq8yVPFQD3WThKZpJbzyI7izp/vEMhoVjLqtjgjDomVBvP9ps+GVzOFiIlAz97MrjtLRq8iBXpu5zv5UYCfayLOwESulTCy1jOGQo7uXqswPCRE2B/CgySGITxwBPHhiN5xb2T9+luSz2p6xn3zSKFcLzRLEwHz+l6vE4G1fTlC4bOmthoynsgctqgfcDrQ==
If I understand correctly, your question is about the aki in the right hand side, and you're asking why the constructor wasn't stripped off of the term, is that correct?
If so, then the answer is that the right-hand side is correct, as deconstructing a term and unfolding a fix (doing recursion) are different operations: they are separated into the fix and match construct.I think the last sentence simply means that with this restriction (and the guardedness condition), we can exactly simulate the recursors' operational semantics, even on open terms (and vice-versa, I think, but this is non-trivial).
Best,
Cody
On Sat, Jun 11, 2016 at 5:12 PM, Randy Pollack <rpollack0 AT gmail.com> wrote:
I don't understand this description of fixpoint reduction from p. 134
of the Reference Manual (.pdf, version 8.5pl1).
====================================
Let F be the set of declarations: f1/k1:A1 := t1 ... fn/kn:An := tn.
The reduction for fixpoints is:
(Fix fi{F} a1 . . . aki) >_i
ti {(fk /Fix fk {F})k=1...n} a1 . . . aki
when aki starts with a constructor. This last restriction is needed
in order to keep strong normalization and corresponds to the reduction
for primitive recursive operators.
====================================
Is a_{k_i} in the reduction rule a typo? Can someone explain the
phrase "and corresponds to the reduction
for primitive recursive operators".
Thanks,
Randy
--
- [Coq-Club] Fixpoint reduction?, Randy Pollack, 06/11/2016
- Re: [Coq-Club] Fixpoint reduction?, roux cody, 06/12/2016
Archive powered by MHonArc 2.6.18.