Foundational, Compositional (Co)datatypes for Higher-Order Logic: Category Theory Applied to Theorem Proving. - Traytel, Dmitriy; Popescu, Andrei; Blanchette, Jasmin Christian (2012)