Discussion of OM - PTS machinery

We have presented a general typed language for expressing mathematical notions.

Could add constructions and rules for lists or arrays, but in principle these notions can be represented in our system.

Not possible to define algorithms in our language. We can axiomatize the behavior of algorithms, but we cannot execute them in our language. If wanted, could add some formalism to define functions using pattern matching. Such a formalism would also allow to prove properties of algorithms in the language itself.

We do not have subtyping in our language, but we can simulate subtyping by coercions.

Proof checkers like Lego and Coq can be used to perform tasks.