'Initialize a ``DiscourseTester``.
:param input: the discourse sentences
:type input: list of str
:param background: Formulas which express background assumptions
:type background: list(Expression)'

def __init__(self, input, reading_command=None, background=None):

    self._input = input
    self._sentences = dict([(('s%s' % i), sent) for (i, sent) in enumerate(input)])
    self._models = None
    self._readings = {}
    self._reading_command = (reading_command if reading_command else CfgReadingCommand())
    self._threads = {}
    self._filtered_threads = {}
    if (background is not None):
        from nltk.sem.logic import Expression
        for e in background:
            assert isinstance(e, Expression)
        self._background = background
    else:
        self._background = []
