I have thought of systems like Coq & Isabelle as programming languages specialised for writing proofs. A programming language might or might not have a REPL making it interactive but the REPL is not core to its being.
There are two questions here:
From my reading of them What is a Proof Assistant?
does not imply interactivity or specifically an ITP (interactive theorem prover).
What is a Proof Assistant?
has three good quality answers that do not emphasize interactivity.
But the answers to what-makes-a-proof-assistant-a-proof-assistant
imply it quite strongly.
The wikipedia definition of Proof_assistant strongly implies the term is synonymous with ITP
"a proof assistant or interactive theorem prover"
- Is a proof assistant the same thing as interactive theorem prover?
If not,
- what is the difference?
- Does it have to be interactive?
The context of this question is what is needed to move from design by contract to using a more advanced prover? (I originally wrote "proof assistant" rather than "prover") where I am thinking about proving things but not thinking about interactivity. That question might in fact be completely off topic.
Whether proof assistant
means something that is intended to be interactive or something that can run unsupervised is relevant to both to whether I asked the question I intended (no - an interactive compiler would be unusual) and whether the correct question is on topic (yes - based on Are questions about automated theorem provers on topic?).
It also refines the definition of proof assistant from the other two questions which I why I asked here rather than in meta.