':param goal: Input expression to prove
:type goal: sem.Expression
:param assumptions: Input expressions to use as assumptions in
the proof.
:type assumptions: list(sem.Expression)
:param timeout: number of seconds before timeout; set to 0 for
no timeout.
:type timeout: int
:param prover: a prover.  If not set, one will be created.
:type prover: Prover9'

def __init__(self, goal=None, assumptions=None, timeout=60, prover=None):

    if (not assumptions):
        assumptions = []
    if (prover is not None):
        assert isinstance(prover, Prover9)
    else:
        prover = Prover9(timeout)
    BaseProverCommand.__init__(self, prover, goal, assumptions)
