Types for Proofs and Programs by Holger Ingmar Meinhardt & P. Callaghan