Cambridge tracts in theoretical computer science