Category, Type and Proof foudations