Let's play Agda
{-# OPTIONS --cubical-compatible #-}
module Padova2025.Welcome.Rosetta where

A mathematical Rosetta Stone#

The following table is included here for ease of reference (and perhaps as a kind of cryptic teaser). It will make more sense when we discuss how Agda can be used as a proof language.

With the advent of homotopy type theory, a further column to this table was discovered. We will discuss this expansion in the context of Cubical Agda.

Blackboard mathematicsAgda
A claimA type (of witnesses)
Proving a claimExhibiting an element of the corresponding type
An unsound proof attemptA term which does not type-check
Leaving a part of a proof attempt to be filled in laterLeaving a hole ?
Realizing a missing assumptionAdding an extra argument
Assertion that x = yType x ≡ y (a certain standard equality type)
Trivially equal by inspectionWitness refl
Arguing by inductionDefining a recursive function
Induction hypothesisRecursive function call
Arguing by casesDefining a function by pattern matching
Fixing an element x ∈ A for the remainder of a sectionAnonymous module module _ (x : A) where
Function application f(x)Function application f x
Result foo applied to xFunction application foo x
Result P ⇒ QFunction of type P → Q which transforms witnesses of type P into witnesses of type Q
Result P ∧ QElement of P × Q (i.e. a pair of witnesses)
Result P ∨ QElement of P ⊎ Q (i.e. a witness of either)
Result ∀(x ∈ A). P(x)Function of type (x : A) → P x which reads an arbitrary x as input and produces a witness of P x as output
Result ∃(x ∈ A). P(x)Element of Σ[ x ∈ A ] P x (i.e. a pair (x , p) consisting of an element x and a witness of type P x)
Result ¬ PFunction of type P → ⊥
Contradiction/absurdityEmpty type ⊥
A (small) subset of a set AA function A → Set
Class of all setsType Set of all small types (also spelled Set₀)
(Small) setSmall type, i.e. element of Set
Proper classType which is not an element of Set (but of Setᵢ for some nonzero universe level i)
A ringA record bundling carrier, operations and laws
A commutative ringA record with an extra commutativity field