Skip to Content.
Sympa Menu

coq-club - Re: [Coq-Club] Why does CIC have substitution?

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

Re: [Coq-Club] Why does CIC have substitution?


Chronological Thread 
  • From: Matthieu Sozeau <mattam AT mattam.org>
  • To: coq-club AT inria.fr
  • Subject: Re: [Coq-Club] Why does CIC have substitution?
  • Date: Fri, 25 May 2018 10:44:55 +0200
  • Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=mattam AT mattam.org; spf=Pass smtp.mailfrom=matthieu.sozeau AT gmail.com; spf=None smtp.helo=postmaster AT mail-wr0-f179.google.com
  • Ironport-phdr: 9a23:+cOEVxb7FqDiZlubCatxw5P/LSx+4OfEezUN459isYplN5qZoMi7bnLW6fgltlLVR4KTs6sC17KN9fi4EUU7or+5+EgYd5JNUxJXwe43pCcHRPC/NEvgMfTxZDY7FskRHHVs/nW8LFQHUJ2mPw6arXK99yMdFQviPgRpOOv1BpTSj8Oq3Oyu5pHfeQpFiCazbL9oMBm6sRjau9ULj4dlNqs/0AbCrGFSe+RRy2NoJFaTkAj568yt4pNt8Dletuw4+cJYXqr0Y6o3TbpDDDQ7KG81/9HktQPCTQSU+HQRVHgdnwdSDAjE6BH6WYrxsjf/u+Fg1iSWIdH6QLYpUjmk8qxlSgLniD0fOjE2/mHYiMx+gqxYrhy8uRJw35XZb5uJOPdkZK7RYc8WSGhHU81MVyJBGIS8b44XAuQGJ+lYs5X9p1sPrRSgGAmnGf7hyjhJh3Dox6I6zvkqHAbD3AM6A9IOrG7brNDuOacXS++10LXIwi/Gb/9M3jf98ofIfwknrPqRU7xwds/RxlMuFwPDllifs5DqPzaP2uQKqWib4OxtXv+shW4/swx9vCSjy8M2hoTKho8Z0E3I+Tt6zYovONG1Skp2bNi5G5VKrS6aLZF5QsY6TmFopik6zroGtIa+fCcQyZQnwwfTavKdc4SU+x7jWvudLDV8iX5/d7K/gBGy8UekyuLiTMW7zFFKri9dntnNsHACyQDT59CZRvdh+kqtwzWC2gDJ5u1ZP0w5lrDXJ4Mjz7M0jpYTtF7MHi7ymEX4lq+WcUAk9/Ct6+v9frXmup+cN45qhQHjKKgugcu/AOUmPQcUQmiW4uu81Lj58k34RLVGlOE5kq7csJzCP8QUura5AxNJ0oYk8xuwEzCm0M0BkXYbKFJFZQmIgpPyO1DOJfD4Fe2wj06tkDdt3fDGP6fuDo/DLnjZw//deuN27FcZww4ux/he4YhVA/cPOqHdQEj04fnREgM5MgGpi93gGth0y8tKXGuTHqacGKbbrUOB46QoOebaN9xdgyr0N/Vwv62mtnQ+g1JIJfD4j6tSU2ixG7FdG2vcZHPthtkbFmJT51gxSeXrjBuJVjsBPi/uDZJ53SkyDcedNamGXpqk2ebT2S6nApRTIGdcBQLUSCq6R8C/Q/4JLRmqDIphnzgDD+bzToYg0VSxrle/xeM4f6zb/SoXsZ+l399wtbXe

Hi,

  What is the reduction rule for let, e.g. for weak head reduction? 
If you assume reduction under a local context of definitions, then you get something like:

x := v |- B -> B’
-------------------
Let x = v in B -> let x = v in B’

B' might still contain references to x, so you will need to consider let's as head normal somehow, no?
— Matthieu

Le jeu. 24 mai 2018 à 19:31, William J. Bowman <wjb AT williamjbowman.com> a écrit :
McBride and McKinna observe that when you have let and δ reduction, including substitution is unnecesary.
(The View From The Left, https://dl.acm.org/citation.cfm?id=967496)
Instead, we can replace dependent typing rules such as:

  ...
  ------------------
  Γ ⊢ e₁ e₂ : B[e₂/x]

By

  ...
  ------------------
  Γ ⊢ e₁ e₂ : let x = e₂ in B

And replace substitution in reduction, such as β, by:

  Γ ⊢ (λ x.e) v → let x = v in e

Why does CIC include both let + δ reduction *and* substitution?

--
William J. Bowman
Northeastern University
College of Computer and Information Science



Archive powered by MHonArc 2.6.18.

Top of Page