Skip to Content.
Sympa Menu

coq-club - [Coq-Club] FME Teaching Tutorial on June 6, 2025, 3pm CET: Prof Philip Wadler, University of Edinburgh, UK: Lambda, the Ultimate Teaching Assistant (Agda version)

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

[Coq-Club] FME Teaching Tutorial on June 6, 2025, 3pm CET: Prof Philip Wadler, University of Edinburgh, UK: Lambda, the Ultimate Teaching Assistant (Agda version)


Chronological Thread 
  • From: "João F. Ferreira" <joao AT joaoff.com>
  • To: "João F. Ferreira" <joao AT joaoff.com>
  • Cc: acl2 AT utlists.utexas.edu, agents AT cs.umbc.edu, ast AT cs.vu.nl, cade AT itu.dk, categories AT mta.ca, comm-theory AT ieee.org, concurrency AT listserver.tue.nl, coq-club AT inria.fr, dbworld AT cs.wisc.edu, dipartimento AT di.unipi.it, envisage-all AT envisage-project.eu, events AT fmeurope.org, facs-events AT jiscmail.ac.uk, fg-arc AT lists.uni-paderborn.de, fmics AT inrialpes.fr, fm-announcements AT lists.nasa.gov, hol-info AT lists.sourceforge.net, ic.eatcs AT di.unipi.it, lics AT research.bell-labs.com, maude-users AT cs.uiuc.edu, moca-announce AT list.it.uu.se, nvti-list AT cwi.nl, nwpt-info AT lists.ioc.ee, petri-net-world AT petrinet.net, pvs AT csl.sri.com, resist AT laas.fr, "risks AT csl.sri.com" <risks AT CSL.sri.com>, sal AT csl.sri.com, sci-diku-prog-lang AT list.ku.dk, "security AT fosad.org" <security AT FOSAD.ORG>, sensoria-core AT di.unipi.it, theorem-provers AT ai.mit.edu, theory-a AT listserv.nodak.edu, theory AT cl.cam.ac.uk, theorynt AT listserv.nodak.edu, types-announce AT lists.seas.upenn.edu, it-personal AT abo.fi
  • Subject: [Coq-Club] FME Teaching Tutorial on June 6, 2025, 3pm CET: Prof Philip Wadler, University of Edinburgh, UK: Lambda, the Ultimate Teaching Assistant (Agda version)
  • Date: Fri, 30 May 2025 18:14:57 +0100
  • Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=joao AT joaoff.com; spf=None smtp.mailfrom=joao AT joaoff.com; spf=None smtp.helo=postmaster AT mail-wm1-f43.google.com
  • Ironport-data: A9a23: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
  • Ironport-hdrordr: A9a23:rCxuCazcudxE58BGM+slKrPw5b1zdoMgy1knxilNoNJuA7elfq GV7ZAmPHrP4gr5N0tQ4exoVJPwJE80i6QFmLX5TI3SOzUO0VHAROoSj7cKqweQeBEWndQts5 uIHZIOcuHYPBxUi93l6BK0H9tl7N6M67CwmOvSpk0AcShaL49lqyl2Yzz0LqS0fmZ77FgCea Z0KvAnm9PZQwVrUi1zPBk4Y9Q=
  • Ironport-phdr: A9a23:HeQxhhNFrY2ZD/NRMSYl6naRBhdPi9zP1u491JMrhvp0f7i5+Ny6Z QqDvq4r1AeCB9SGtLoE07OQ7/u6HzRYoN6oizMrTt9lb1w/tY0uhQsuAcqIWwXQDcXBSGgEJ vlET0Jv5HqhMEJYS47UblzWpWCuv3ZJQk2sfQV6Kf7oFYHMks+5y/69+4HJYwVPmTGxfa5+I A+5oAjfuMQam5duJro+xhfXpnZFe+Zbzn5sKV6Pghrw/Mi98ZB9/yhKp/4t68tMWrjmcqolS rBVEDspP2cp6cPxshXNURWB7WYGXGUMlRpIDQnF7BXkUZr0ryD3qOlz1jSEMMPvVbw7Viis4 KltSB/zlScILCU5/33Nisxxl61UvhSsrAFizoHOYYGVMP1+fr7Bfd4fWGFMUNpdWzBHD4iha IQBEvcBPf1Ar4bju1QOsRWwBQ6pBOz1yz9IgGL90ak13uklFA3L2gsvEs4AvXjIsdn5LbseX f2ox6XM0DnOb/Za1DHg44bKbx8hu+mBU7JsfsXe1EchFA3Lg0uOp4LiJD6azPgBs22B4upgS e6iiWgqoBxxrDi1wccsj5HEiowRxFDD8SJ5x5s+K92iREVmYdCrDoFQtzuEOIt3WMMtWW9ks zs9x70Evp60Zi8KxY8lxx7YcfOHdIaI4hz5WOmNJjd4gWtodbSijBm97Uau0PfzVtWo0FlUt CpFlMHBu3AN2hDO9sSKS/Vz80W91DuL0w3f9u9KLE42mKfbN5MvwqA9m54Tv0nfAiL7mET7g bGKeksk5OWl9+Dqb6jkq5KaKoR6hAb+MqE0lcy+B+Q1KhYBUHWB9eumyLLv51D5QLZSgvw3l anZt5XaKd4Gpq6iGwNV3Ycj6wq/Dze7y9sUh3gHLFVDdRmajIbpI0nDLO7kAfq7mVihkzdmy +rbMrH/AZjBNHfOnbn5cbt+6UNQ0hc/wNRe6p5OCbwNPej/VlL/udHXCBIyLhK5w+L6CNVmy oMRR3iPDLKYMKLTr1CF/v4jLu+Rb4EPojn9MeIq5/v2gH85h1Adea6p0IMSaH+iH/RmJ1yVY HTpgtscCGsKsAUzQeLwhF2NVj5TYHmyX6Yi6T0hFI2mCoLDSpisgLyHwii7AoVban5aBl2IC 3vldIWJV+0RZC6MIcJtiDMJWLa5R48kzx6utQv6y7R9LurT/y0VrZDj1N9v6O3Ujhwy9zt0A N6a02GDQWF4hH8HRzgz3Kxnp0xy0U+M0bJkjPxACdxT+/RJXx8nOZLE1ex1F8jyWh7dfteOU FupXtKmASgoQt0tx98Ofl1yFs65jhHD2iqqG6Uam6aKBJwy6KLc3mL+K9xzy3bch+EdiAxsY MzEMiWIwOZR+hLJCo/Tmg/Rw6StfKM03inE82mNi2GJuRcLfhR3VPCPf3eUYQP465zX61nYQ r60AP5vZglGwMmqKKxDbdPny15BQaGwa5zlf2utljLoVl6zzbSWYd+0Jw31vQ3YAUkAyEUI+ GqecBM5HmGnqn7fCzpnERTuZVnt+K9wsiDzVVc6mieNaUApzL+p4lgNn/XJSfQa2ZoGvy4mp TsyF1G4jJrNE9TVgQ1nce1HZM8lplJO1GbXrQt4a56nJqdKhFkXdAp5+Ujp0kY/EZ1OxO4tq n5i1w9uMeSY3VdGIiufxoz1M6bLJ3Pa+Rmub+vJ3wib3orNvKgI7/s8phPouwTB+lMK1XJh3 pEV1nKd4s6PFw8OSdfqVV5x8RFmprbcay175oXO1HQqP7Pm+jnFk8kkAuco0HPCN59WLb+EG QnuEsYbG9nmKeoknEKsZw4FO+Ya/bA9Psevff+LkKCxO+MokDWjhGVBqIdztyDEvyh7Q+ng3 ZEMxP+WmACAUna0jVustNz2hZERfSsbTSK0zSnpApIUZ7UnJ95aTzfzZZTtlpMi3M2IOTYQ7 lOoClIY1dX8fBOTawe4xghMzQEMpmThnyKkzjtymjVvr6yF3SWIzf6xEXhPcmNNWmRmik/hZ IauiNVPFkqvZg8Blhys4kj0gaNcoe4sZ3mWWkpOcyXseitgVaK3nriFaslB5tUjtiAdA4HeK RiKD7X6pRUdySbqGWBTkSs6ez+dsZL8hxVmiWiZIR6ftVL/fsd9jVfa7d3YHrtK2yYeATJ/k X/RD0S9ON+g+ZOVkY3Cu6awTTDpUJobaiTtwY6a0UnzrWR3HR2ymeyykdz7AEA71yH8zdxjS STPql71fIDq062wNe8vcFNvARfw7M9zG4c2lYVV5tlY238Tgb2X+nMAn2m1OtJemOr/YHcLW T8X0ovQ6Qnh1ldkKyHBzIb4W3OBh8p5MoPiMyVGh2RktZAMVPzHid4M1TF4qVe5sw/LNP10n zNGjOAr9GZfmOYR/gwk0iSaBLkWW0heJy3l0RqSvLXc5O1aYniidb+o2Q9wh9ekWfuApQhbc HT+c5AsE2l76cA1YxrclWb+7I3pYoyab9UasTWWlB7HgeYTI5U03Klv52IvKSf2unsrzPQ+h Bpl0MShvYSJHG5q+bqwHh9SMjCdi9o73DbrgO4em8+X29vqBZB9AnAQW4OuS/u0ETUUvPChN gCUETR6pG3JUbzYVRSS7ktrtRetW9iiKm2XKX8FzN5jWAjVJUpRhxoRVSk7mZhxHx6jxcjoe kN0rj4L4VuwphxJw+Nufx7xNwWX7B+vcSsxQYODIQB+6whD4wLKNJXb4L4oWS5f+ZKloUqGL WnaLwVEAGcVW1CVUlDuOr79gLuIu+OcB+e4M77PeeDU8b0YB6rOnMj/lNc9rFPufo2VM3JvD uM2wB9GVHF9QIHCnikXDjcQj2TLZtKaoxG1/mt2qNq++bLlQlGKh8PHBr1MPNFo4x3zj72EM rvahiFwLh5a0ZoLy3GOw78alg136WkmZ3y2HLIMuDSYBrrXgbNSBgUHZjlbMcJJ6+cj21AIN 5KAzNzy0bF8g7g+DFIPBjmD0om5IMcNJW+6LlbOAk2GYa+HKTP8yMbyeaqgSLdUgY28WDWyv j+cHUGlNTOGxWGBv/GHNOhNiGSEOUUbtt3mNBlqDmfnQZTtbRjpaLefaBU0xrQziH2MPmkZY 2AUTg==
  • Ironport-sdr: 6839e7b7_t6R5nTfMTfG0+IV2pM6FspRvnLA9VTAuZCZPaUsODHhKOqz fTj2NxqxZ3cdRZZK8vSmhEZAzxE+ykORvzuBdSQ==

*[Apologies for cross-posting]*

Dear all,

We continue our Formal Methods Teaching tutorials series with a lecture on Friday, June 6, at 3 pm CET.

Prof. Philip Wadler from The University of Edinburgh will talk about his experience with his textbook Programming Language Foundations in Agda (PLFA).

Abstract:

Proof assistants, such as Agda, Coq, HOL, Isabelle, Lean, or Twelf, permit formal statements of propositions and proofs in a way that can be checked by a computer. Some assistants, such as Coq, also provide a way to write tactics to describe how to search for a proof. The use of mathematics to describe programs and programming languages, known as formal methods, can benefit from a proof assistant. In particular, use of a proof assistant in teaching provides immediate feedback to students.

One of the leading textbooks for formal methods is Software Foundations (SF), written by Benjamin Pierce in collaboration with others, and based on the proof assistant Coq. After five years using SF in the classroom, I have come to the conclusion that Coq is not the best vehicle for this purpose, as too much of the course needs to focus on learning tactics, to the cost of learning programming language theory. Accordingly, I have written a textbook, Programming Language Foundations in Agda (PLFA), based on the proof assistant Agda. PLFA covers much of the same ground as SF, although it is not a slavish imitation.

What did I learn from writing PLFA? First, that it is possible. One might expect that without tactics proofs become too long, but in fact proofs in PLFA are about the same length as those in SF. Proofs in Coq require an interactive environment to be understood, while proofs in Agda can be read on the page. Second, I compared two standard methods of formalising programming, one with extrinsically-typed terms and one with inherently-typed terms. SF uses the former presentation, while PLFA presents both; the former uses about 1.6 as many lines of Agda code as the latter, roughly the golden ratio. Third, that constructive proofs of preservation and progress give immediate rise to a prototype evaluator. This fact is obvious in retrospect but it is not exploited in SF (which instead provides a separate normalise tactic) nor can I find it in the literature. Fourth, that if the final exam is administered online with a proof assistant, students can achieve perfection.

The textbook is written as a literate Agda script, and can be found here:

http://plfa.inf.ed.ac.uk

The event will last about an hour. The Zoom link is: https://aboakademi.zoom.us/j/64254430116 

More details can be found in the tutorial series webpage:
https://fme-teaching.github.io/2021/08/24/tutorial-series-of-the-fme-teaching-committee/

Everyone is warmly welcome!

Best wishes,
João


  • [Coq-Club] FME Teaching Tutorial on June 6, 2025, 3pm CET: Prof Philip Wadler, University of Edinburgh, UK: Lambda, the Ultimate Teaching Assistant (Agda version), João F. Ferreira, 05/30/2025

Archive powered by MHonArc 2.6.19+.

Top of Page