code: def minimize(
      *rules: Callable[[_S], _T], objective=_identity
  ) -> Callable[[_S], _T]:
      """Select result of rules that minimizes objective
  
      >>> from sympy.strategies import minimize
      >>> inc = lambda x: x + 1
      >>> dec = lambda x: x - 1
      >>> rl = minimize(inc, dec)
      >>> rl(4)
      3
  
      >>> rl = minimize(inc, dec, objective=lambda x: -x)  # maximize
      >>> rl(4)
      5
      """
  
      def minrule(expr: _S) -> _T:
          return min([rule(expr) for rule in rules], key=objective)
  
      return minrule
  
file_path: sympy/sympy/strategies/core.py
imports: from __future__ import annotations
  from collections.abc import Callable, Mapping
  from typing import TypeVar
  from sys import stdout
label_desc: Use image node_id 12 for calling a global function with example usage: minimize() and returns: minrule, min