A typed language for mathematical objects



Thanks to Hugo Elbers.

Starting point is a language for mathematical objects. In this language we can express elementary mathematical objects, such as


We have constructs for building more complex mathematical objects like


We use typing to filter out meaningless expressions: for instance

sin(+)
makes no sense.

Because formulae are represented by types in this language, we consider inhabitants of such types as proofs. Therefore type checking is good for verifying:

  1. proofs
  2. that an OM object is meaningful

Overview of the items to be discussed