If you keep removing single grains of sand from a heap, when is it no longer a heap? From discussions of the heap paradox in classical Greece, to modern formal approaches like fuzzy logic, Timothy Williamson traces the history of the problem of vagueness. He argues that standard logic and formal semantics apply even to vague languages and defends the controversial, realist view that vagueness is a form of ignorance - there really is a grain of sand whose removal turns a heap into a non-heap, but we can never know exactly which one it is.