A theorem prover is a dependently typed functional programming language. If you can generate a term with a particular type then the theorem is true. There is no testing involved.
I'm not so sure, because Prolog.
I'm not so sure, because Prolog.