Teaching Simple Constructive Proofs with Haskell Programs
Matthew Farrugia-Roberts (The University of Melbourne), Bryn Jeffries, (Grok Academy), Harald S{\o}ndergaard (The University of Melbourne)

TL;DR
This paper explores using Haskell programming exercises to teach constructive proofs in logic and formal languages, aiming to replace traditional written proofs with interactive digital assessments.
Contribution
It demonstrates how Haskell-based exercises can effectively teach constructive proofs and discusses design considerations and student responses in this digital learning approach.
Findings
Haskell exercises can target skills similar to written proofs.
Students engage actively with digital proof exercises.
The approach supports formative and summative assessment.
Abstract
In recent years we have explored using Haskell alongside a traditional mathematical formalism in our large-enrolment university course on topics including logic and formal languages, aiming to offer our students a programming perspective on these mathematical topics. We have found it possible to offer almost all formative and summative assessment through an interactive learning platform, using Haskell as a lingua franca for digital exercises across our broad syllabus. One of the hardest exercises to convert into this format are traditional written proofs conveying constructive arguments. In this paper we reflect on the digitisation of this kind of exercise. We share many examples of Haskell exercises designed to target similar skills to written proof exercises across topics in propositional logic and formal languages, discussing various aspects of the design of such exercises. We also…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
