Theory of melting