class_docstr: A Shrinker object manages a single value and a predicate it should
  satisfy, and attempts to improve it in some direction, making it smaller
  and simpler.
class_docstr_tok: ["A","Shrinker","object","manages","a","single","value","and","a","predicate","it","should","satisfy",",","and","attempts","to","improve","it","in","some","direction",",","making","it","smaller","and","simpler","."]
code: def __init__(
      self,
      initial,
      predicate,
      random,
      full=False,
      debug=False,
      name=None,
      **kwargs,
  ):
      self.setup(**kwargs)
      self.current = self.make_immutable(initial)
      self.initial = self.current
      self.random = random
      self.full = full
      self.changes = 0
      self.name = name
  
      self.__predicate = predicate
      self.__seen = set()
      self.debugging_enabled = debug
  
file_path: catboost/contrib/python/hypothesis/py2/hypothesis/internal/conjecture/shrinking/common.py
imports: from __future__ import absolute_import, division, print_function
label_desc: Use image node_id 1 to create a new Shrinker object from inherited base classes: object with example: obj = Shrinker(initial, predicate, random, full, debug, name)