Lecture

Polymorphism in Coq: Data Structures and Functions

Description

This lecture discusses the concept of polymorphism in Coq, focusing on how to model data structures such as lists. The instructor begins by reviewing the previous week's introduction to correctness and program syntax. They then explain how to define inductive types, particularly lists, using type parameters. The lecture covers implicit arguments and custom notations for lists, allowing for more intuitive syntax. The instructor demonstrates how to implement functions on lists, including length, append, and reverse, while addressing common pitfalls in Coq's type system. The importance of structural recursion and proof techniques is emphasized throughout the lecture. The instructor also introduces the concept of axiomatic specifications, highlighting the separation of interface and implementation in proof assistants. The lecture concludes with a discussion on the efficiency of functions and the challenges of proving correctness in Coq, including the distinction between functional and operational semantics. Overall, the lecture provides a comprehensive overview of polymorphism and its application in functional programming within Coq.

About this result
This page is automatically generated and may contain information that is not correct, complete, up-to-date, or relevant to your search query. The same applies to every other page on this website. Please make sure to verify the information with EPFL's official sources.

Graph Chatbot

Chat with Graph Search

Ask any question about EPFL courses, lectures, exercises, research, news, etc. or try the example questions below.

DISCLAIMER: The Graph Chatbot is not programmed to provide explicit or categorical answers to your questions. Rather, it transforms your questions into API requests that are distributed across the various IT services officially administered by EPFL. Its purpose is solely to collect and recommend relevant references to content that you can explore to help you answer your questions.