class_docstr: Check properties of an ongoing discourse.
class_docstr_tok: ["Check","properties","of","an","ongoing","discourse","."]
docstr: Call Mace4 to build a model for each current discourse thread.
  
  :param thread_id: thread ID
  :type thread_id: str
  :param show: If ``True``, display the model that has been found.
code: def models(self, thread_id=None, show=True, verbose=False):
      """
      Call Mace4 to build a model for each current discourse thread.
  
      :param thread_id: thread ID
      :type thread_id: str
      :param show: If ``True``, display the model that has been found.
      """
      self._construct_readings()
      self._construct_threads()
      threads = (
          {thread_id: self._threads[thread_id]}
          if thread_id
          else self._threads
      )
  
      for tid, modelfound in self._check_consistency(
          threads, show=show, verbose=verbose
      ):
          idlist = [rid for rid in threads[tid]]
  
          if not modelfound:
              print(f"Inconsistent discourse: {tid} {idlist}:")
              for rid, reading in self.expand_threads(tid):
                  print(f"    {rid}: {reading.normalize()}")
              print()
          else:
              print(f"Consistent discourse: {tid} {idlist}:")
              for rid, reading in self.expand_threads(tid):
                  print(f"    {rid}: {reading.normalize()}")
              print()
  
imports: import os
  from abc import ABCMeta, abstractmethod
  from functools import reduce
  from operator import add, and_
  from nltk.data import show_cfg
  from nltk.inference.mace import MaceCommand
  from nltk.inference.prover9 import Prover9Command
  from nltk.parse import load_parser
  from nltk.parse.malt import MaltParser
  from nltk.sem.drt import AnaphoraResolutionException, resolve_anaphora
  from nltk.sem.glue import DrtGlue
  from nltk.sem.logic import Expression
  from nltk.tag import RegexpTagger
label_desc: Use image node_id 14 for calling the DiscourseTester obj's underlying member method code with example usage: obj.models(thread_id, show, verbose) without return types