code: def extract_predargs(proposition, assumptions=None, context=None):
      """
      Extract every expression in the argument of predicates from *proposition*,
      *assumptions* and *context*.
  
      Parameters
      ==========
  
      proposition : sympy.assumptions.cnf.CNF
  
      assumptions : sympy.assumptions.cnf.CNF, optional.
  
      context : sympy.assumptions.cnf.CNF, optional.
          CNF generated from assumptions context.
  
      Examples
      ========
  
      >>> from sympy import Q, Abs
      >>> from sympy.assumptions.cnf import CNF
      >>> from sympy.assumptions.satask import extract_predargs
      >>> from sympy.abc import x, y
      >>> props = CNF.from_prop(Q.zero(Abs(x*y)))
      >>> assump = CNF.from_prop(Q.zero(x) & Q.zero(y))
      >>> extract_predargs(props, assump)
      {x, y, Abs(x*y)}
  
      """
      req_keys = find_symbols(proposition)
      keys = proposition.all_predicates()
      # XXX: We need this since True/False are not Basic
      lkeys = set()
      if assumptions:
          lkeys |= assumptions.all_predicates()
      if context:
          lkeys |= context.all_predicates()
  
      lkeys = lkeys - {S.true, S.false}
      tmp_keys = None
      while tmp_keys != set():
          tmp = set()
          for l in lkeys:
              syms = find_symbols(l)
              if (syms & req_keys) != set():
                  tmp |= syms
          tmp_keys = tmp - req_keys
          req_keys |= tmp_keys
      keys |= {l for l in lkeys if find_symbols(l) & req_keys != set()}
  
      exprs = set()
      for key in keys:
          if isinstance(key, AppliedPredicate):
              exprs |= set(key.arguments)
          else:
              exprs.add(key)
      return exprs
  
file_path: sympy/sympy/assumptions/satask.py
imports: from sympy.core.singleton import S
  from sympy.core.symbol import Symbol
  from sympy.core.kind import NumberKind, UndefinedKind
  from sympy.assumptions.ask_generated import get_all_known_matrix_facts, get_all_known_number_facts
  from sympy.assumptions.assume import global_assumptions, AppliedPredicate
  from sympy.assumptions.sathandlers import class_fact_registry
  from sympy.core import oo
  from sympy.logic.inference import satisfiable
  from sympy.assumptions.cnf import CNF, EncodedCNF
  from sympy.matrices.kind import MatrixKind
label_desc: Use image node_id 3 for calling a global function with example usage: extract_predargs(proposition, assumptions, context) and returns: exprs