|
You are here |
www.philipzucker.com | ||
| | | | |
kuruczgy.com
|
|
| | | | | [AI summary] The article explores the intersection of functional programming and logic through the lens of dependent types. It begins with foundational concepts like type constructors and inductive types, then delves into the Curry-Howard isomorphism, which links programs to mathematical proofs. The discussion covers how types represent propositions, functions as implications, and inductive types as proof strategies. Examples include defining logical relations like less than or equal to and equality, and demonstrating how to prove properties like universal quantification and mathematical identities. The article concludes with an overview of resources for further study in proof assistants like Coq and Idris, emphasizing the practical applications of dependent... | |
| | | | |
jiggerwit.wordpress.com
|
|
| | | | | What follows are the opening paragraphs of a pdf document giving an argument for controlled natural languages in mathematics. At the recent Big Proof 2 conference in Edinburgh, I realized that a case must be made for developing a controlled natural language for mathematics. There is little consensus on this issue, and mathematicians and computer... | |
| | | | |
adam.chlipala.net
|
|
| | | | | [AI summary] This text provides an in-depth exploration of advanced Coq proof techniques, focusing on manual proofs, recursion, and induction principles for complex data structures. It covers topics like nested inductive types, custom induction principles, and the design philosophy behind Coq's approach to proof automation. The text includes detailed examples of proof scripts, such as manual proofs for discrimination and injectivity of constructors, and discusses the use of tactics like discriminate and injection. It also touches on the implementation of functions like pred and the role of hints in improving proof readability and automation. | |
| | | | |
wimvanderbauwhede.codeberg.page
|
|
| | | This is a follow-on of my article on algebraic data types, with list-based parser combinators as a practical application. | ||