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: "William J. Bowman" <wjb AT williamjbowman.com>
  • To: coq-club AT inria.fr
  • Subject: Re: [Coq-Club] Why does CIC have substitution?
  • Date: Sat, 26 May 2018 11:19:06 -0400
  • Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=wjb AT williamjbowman.com; spf=Pass smtp.mailfrom=wjb AT williamjbowman.com; spf=Pass smtp.helo=postmaster AT williamjbowman.com
  • Ironport-phdr: 9a23:pVTCxBMCtdFvnRqUtSsl6mtUPXoX/o7sNwtQ0KIMzox0LfT/rarrMEGX3/hxlliBBdydt6ofzbKO+4nbGkU4qa6bt34DdJEeHzQksu4x2zIaPcieFEfgJ+TrZSFpVO5LVVti4m3peRMNQJW2aFLduGC94iAPERvjKwV1Ov71GonPhMiryuy+4ZLebxlGiTanfb9+MAi9oBnMuMURnYZsMLs6xAHTontPdeRWxGdoKkyWkh3h+Mq+/4Nt/jpJtf45+MFOTav1f6IjTbxFFzsmKHw65NfqtRbYUwSC4GYXX3gMnRpJBwjF6wz6Xov0vyDnuOdxxDWWMMvrRr0yRD+s7bpkSAXwhSkJNzA37nzZhM9+jK1UvB2uuhNxzIzab4yOKPpzfbnQcc8GSWdbXMtcUTFKDIOmb4sICuoMJehUoIn8p1sKqRu+BBOjBObywTFMnHP9wLA30+MvEAHDxgMgGdwCu2nTodT7NqcdSvu4zafJzTXHa/NW2C3y6I3Kch86pvGNU7dwftDXyUU1CwzFiVCQpJXjMjiI2OoNtG2b4PBhVeKpk2MosR1+oj21yscrkInJiYQYwU3H+yVh2Is5ONm1RFBhbdK5EJZdtzuWOoh1T884Xm1kpSc3xqUbtZO0fSUG0okrywPfZvCdcIWF7QjvWeaRLDp+mXlrYqiwhwyo/kil0uD8Vte70FJNriddnNjMt3QN1xjS6sedT/t9/Fyu2TGB1gDW8O5EJ1o4mrbcK54k2rIwl5wTvlrfHiLuhUn7iLGael859uWo6+nreLbrq5yGO4Nplw3zM7wimsmlDuQ5NggOUXKb+eO51LD780z5Qq5Fg+Y4k6nYtJDaIcUbqbS8Aw9XyYkj7Bi+DzK839Qeh3UIMFVFeBefg4jzJ17OOOz4Deu4g1m0jDhrwOnGMqT9DZXJM3jMi6zsfa196k5Z0Ao818pT55NSCrEbIfL8QFX9tNLCDkxxDwvhyOH+Td55y4k2WGSVA6bfPrmBn0WP47dlHOiIYI4cvX7fbbAP4OHrhHlz0QsCf6OBwpoTbHGxG/ZsJFqcaHyqidAERzRZ9jEiRfDn3QXRGQVYYGy/Cvplt2MLTbm+BIKGfbiDxbmI3SO1BJpTPDgUFVGIFXbhcoeOXOgJYSTUKchkwGVdCeqRDrQ53BTrjzfUjqJ9J7CMqDIZsZbi3d137erMkBg0szdzCpbFijzffyRPhmoNAgQO8uV/rEh6kA/Rzql8h/1REN5Z4OxMWwF8PpnZnbV3

Matthieu,

Yes that should be one of the closure rules.
I suppose this means let is head normal when its body has no more reductions;
alternatively, we could have:

x := v |- B -> B’
------------------- (when x ∉ FreeVars(B'))
let x = v in B -> B’

McBride's thesis has a reduction rule like this, and the ΠΣ calculus Thorsten
mentioned does something similar via an auxiliary relation that normalizes let
bindings.

--
William J. Bowman

On Fri, May 25, 2018 at 10:44:55AM +0200, Matthieu Sozeau wrote:
> 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