':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 max_models: The maximum number of models that Mace will try before
simply returning false. (Use 0 for no maximum.)
:type max_models: int'

def __init__(self, goal=None, assumptions=None, max_models=500, model_builder=None):

    if (model_builder is not None):
        assert isinstance(model_builder, Mace)
    else:
        model_builder = Mace(max_models)
    BaseModelBuilderCommand.__init__(self, model_builder, goal, assumptions)
