Skip to Content.
Sympa Menu

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

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

[Coq-Club] Why does CIC have substitution?


Chronological Thread 
  • From: "William J. Bowman" <wjb AT williamjbowman.com>
  • To: coq-club AT inria.fr
  • Subject: [Coq-Club] Why does CIC have substitution?
  • Date: Thu, 24 May 2018 13:31:07 -0400
  • Authentication-results: mail3-smtp-sop.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:XgMwxB9ihlM5Yf9uRHKM819IXTAuvvDOBiVQ1KB42+ocTK2v8tzYMVDF4r011RmVBd6ds6oMotGVmpioYXYH75eFvSJKW713fDhBt/8rmRc9CtWOE0zxIa2iRSU7GMNfSA0tpCnjYgBaF8nkelLdvGC54yIMFRXjLwp1Ifn+FpLPg8it2O2+55Pebx9UiDahfLh/MAi4oQLNu8cMnIBsMLwxyhzHontJf+RZ22ZlLk+Nkhj/+8m94odt/zxftPw9+cFAV776f7kjQrxDEDsmKWE169b1uhTFUACC+2ETUmQSkhpPHgjF8BT3VYr/vyfmquZw3jSRMMvrRr42RDui9b9mRhHohikZKjA3827YhdBtg6xUrh2svAB/zo3ObY2JKPZzZKHQcNUHTmRBRMZRUClBD5uyY4QPDuoBOeJYr4jnqFsLsBCwAROgD/7yxz9PiH722Lc10+IvHQrb2wEhEdAOv2/PodT7NacSVeS1zKjSwjXGbfNZwjD96YbNch87p/GAR65/cc3UyUQ2EQ7Ok1ueqYvgPzyP1+QNtXCW4PB8WuKqkWInrBtxojepy8wxiYfJnpoYxk3A+Cln2oo5ON21RU5hbdOnE5ZcrTyWO5Z3T886Xm1kpiI3xqcbtZKnZiQG1YkrywLFZ/GIcIWF5A/oWvyLLjdinn1lfaqyhxas/kikze3xTse10FdOripBk9nDrHUN1x7I5ciARPp9+12u2TCV2w/P7eFEJFg4lavdK5E/3r49jocfvEDdEiPshUn7jK+bel8n9+Wr8ejrf6jqq56EO49xkA7+M6AumsKlAeQ/NwgDR2aa+ean27D480z5QbFKjvk3kqbDtZDaJ98Upqm3Ag9QyIkj7QyzACuh0NQdhXUHNk5KeAqbj4j1PFHDOOz3DfCmg1i1jDhrw+3GMab6D5XWLnnDla/hcqxn505dzgoz19Ff6IhOBrEPOvKgEnP24dffF1oyNxG+6+fhEtR0kI0ECkyVBarMepzTtVuJ7+dnAa/ETogKvT/7YbBx+PzkpWA4nVscdKyr15wIbXm+WP9hJhPKMjLXnt4dHDJS7UIFR+vwhQjaCG8BVzOJR6s5owoDJsejBIbHSJqqhebZjji6GplXb2VEAFeTFH7uMY6DXqVVMX7AEopaijUBEIOZZco5zxj07F3lyr5jL+PR+Ccfqpfq0p5+4OiBzUhvpwwxNNyU1iS2d08xnm4MQGVujr9+pUh8w1KB269nhvVeU9dU4qEQXw==

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