What makes a proof assistant a proof assistant?
I would expect a proof assistant to provide:


a syntax to express some mathematical statements
a syntax to express a proof of one of those statements
a computational process to "check" that a proof of a statement is indeed valid (returns success or failure, or maybe does not return at all)


Finally, for such a proof assistant to be trustworthy, it should come with a justification of the fact that when its checking process says that a proof of a statement is valid, then indeed this statement is valid in the usual mathematical sense -- there exists a mathematical proof that mathematicians will accept.