Sheaves in geometry and logic: A first introduction to topos theory (1992)

by S Mac Lane, I Moerdijk