Hilbert discovered and developed a range of fundamental ideas in many areas. He worked on invariant theory, the axiomization of geometry, and the notion of Hilbert space. This is one of the foundations of functional analysis. Hilbert and his students supplied much of the mathematics needed for quantum mechanics and general relativity. He was one of the founders of proof theory and mathematical logic. He was also one of the first people to make the distinction between mathematics and metamathematics, and warmly defended Georg Cantor's set theory and transfinite numbers.