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","."]
docstr: Shrink the value ``initial`` subject to the constraint that it
  satisfies ``predicate``.
  
  Returns the shrunk value.
docstr_tok: ["Shrink","the","value","``","initial","``","subject","to","the","constraint","that","it","satisfies","``","predicate","``",".","Returns","the","shrunk","value","."]
code: def shrink(cls, initial, predicate, **kwargs):
      """Shrink the value ``initial`` subject to the constraint that it
      satisfies ``predicate``.
  
      Returns the shrunk value.
      """
      shrinker = cls(initial, predicate, **kwargs)
      shrinker.run()
      return shrinker.current
  
file_path: catboost/contrib/python/hypothesis/py3/hypothesis/internal/conjecture/shrinking/common.py
label_desc: Use image node_id 8 for calling the Shrinker obj's underlying member method code with example usage: obj.shrink(cls, initial, predicate) and returns: shrinker