2

I’m doing some basic studying of lambda calculus and Coq and I’d like some supporting explanation about the relationship between lambda calculus and the calculus of inductive constructions.

This lambda cube shows how lambda calculus can be extended with dependent types (types which take terms as arguments), polymorphism (terms which can take types as arguments - I suppose I don’t fully appreciate the difference between this and a dependent type), and type operators (which I am completely in the dark about).

I thought that since lambda calculus is Turing complete, it would follow that the syntax of Coq / CoC could be defined in lambda calculus. When they say an “extension”, does that mean it comes with some syntactic constructs defined at the outset - yet, which are fully definable within lambda calculus?

0 Answers0