(Programming Languages) in Agda = Programming (Languages in Agda) • Philip Wadler • YOW! 2019

Philip Wadler discusses the connections between natural numbers and programming languages using Agda, a constructive proof assistant, and demonstrates how to express and prove mathematical definitions and properties in a constructive way.

Key takeaways
  • Programming languages can be expressed in Agda, a constructive proof assistant, using the embedding of natural numbers.
  • The paper “Programming Languages in Agda” by Philip Wadler discusses the connections between natural numbers and programming languages using Agda.
  • Agda provides a way to express mathematical definitions and prove properties about them.
  • Agda is used to formalize mathematical concepts and algorithms.
  • Induction and recursion are used to define and reason about mathematical concepts.
  • Agda’s simplicity and expressiveness make it a valuable tool for formalizing and verifying mathematical properties.
  • The example of addition in Agda shows how a simple mathematical concept can be expressed and proven in a constructive way.
  • The textbook PLFA (Programming Language Foundations in Agda) provides a comprehensive introduction to the use of Agda for programming languages.
  • The authors of PLFA demonstrate how to write a programming language in Agda, including the definition of natural numbers.
  • The use of Agda simplifies the formalization of mathematical concepts and algorithms, allowing for more precise and concise proofs.
  • The audience for PLFA is intended for developers interested in formalizing and verifying mathematical properties of programming languages.
  • The author provides many examples and exercises to demonstrate the use of Agda for programming languages.