'Use Prover9 to prove a theorem.
:return: A pair whose first element is a boolean indicating if the
proof was successful (i.e. returns value of 0) and whose second element
is the output of the prover.'

def _prove(self, goal=None, assumptions=None, verbose=False):

    if (not assumptions):
        assumptions = []
    (stdout, returncode) = self._call_prover9(self.prover9_input(goal, assumptions), verbose=verbose)
    return ((returncode == 0), stdout)
