Well, you at least need dependent types just to state the theorem, which eliminates nearly all other languages.