Agda,
a beautiful proof assistant
second part of the course teoria dei tipi • begin April 22th, 2022 • by Ingo
Blechschmidt
Welcome to our joint course on Agda. :-)
Agda is a programming language.
But Agda is much more than that: Agda is also a proof language.
We can write up mathematical proofs in Agda, even proofs concerning infinite or uncomputable objects.
Furthermore, Agda is not static: Agda is also a proof assistant helping us devise proofs.
With Agda, we can …:
- develop proofs and ensure their correctness,
- practically explore type theory
- appreciate mathematics from a new point of view and
- verify the correctness of programs.
I hope you will enjoy the course. Questions and suggestions are always welcome!
via Zoom
Zoom:
https://unipd.zoom.us/j/85250849100?pwd=MHo4K0NBb240SjlUWG42ME44bkRLdz09
Meeting ID: 852 5084 9100
Passcode: 123456
Thursdays from 4.30 pm till 6.30 pm (Italian time)
Fridays from 2.30pm till 4.30 pm
Exercise sheets
Suggested exercises and their solutions will be posted here.
- Sheet 1.
basic functions with booleans and natural numbers
- Sheet 2.
functions with vectors and lists
- Sheet 3.
first steps in proving properties of natural numbers
- Sheet 4.
equality of functions, numbers, lists and vectors
- Sheet 5.
equational reasoning, relations
- Sheet 6.
correctness of insertion sort
- Sheet 9.
sets as trees
- Sheet 10.
termination and well-founded recursion
Transcripts
Syllabus
First draft based on earlier Agda workshops. After the basics are cleared, we can explore lots of different tangents. Your input is very much welcome.
- Agda as a programming language
- Bool, id, neg, ¬_, and
- Nat, add2, pred, recursion
- "types are first-class", "everything has a type"
- Weird
- NatList
- List
- Vector
- Agda as a proof language
- de Morgan
- relations
- equality type, zero = zero, neg² = id, function extensionality
- lemmas about natural numbers
- general induction
- Exploring Agda
- certified sorting
- sets as trees, Russell's paradox
- simply typed lambda calculus
- minima of sets of natural numbers, Higman's Lemma
- setoids
- cubical Agda
- your suggestion here
References
Contact
mail: iblech@speicherleck.de
phone: +49 176 95110311 (also Telegram)