code: def exactlyonearg(symbol, fact, expr):
      """
      Apply exactly one argument of the expression to the fact structure.
  
      Parameters
      ==========
  
      symbol : Symbol
          A placeholder symbol.
  
      fact : Boolean
          Resulting ``Boolean`` expression.
  
      expr : Expr
  
      Examples
      ========
  
      >>> from sympy import Q
      >>> from sympy.assumptions.sathandlers import exactlyonearg
      >>> from sympy.abc import x, y
      >>> exactlyonearg(x, Q.positive(x), x*y)
      (Q.positive(x) & ~Q.positive(y)) | (Q.positive(y) & ~Q.positive(x))
  
      """
      pred_args = [fact.subs(symbol, arg) for arg in expr.args]
      res = Or(
          *[
              And(
                  pred_args[i],
                  *[~lit for lit in pred_args[:i] + pred_args[i + 1 :]],
              )
              for i in range(len(pred_args))
          ]
      )
      return res
  
imports: from collections import defaultdict
  from sympy.assumptions.ask import Q
  from sympy.core import Add, Mul, Pow, Number, NumberSymbol, Symbol
  from sympy.core.numbers import ImaginaryUnit
  from sympy.functions.elementary.complexes import Abs
  from sympy.logic.boolalg import Equivalent, And, Or, Implies
  from sympy.matrices.expressions import MatMul
label_desc: Use image node_id 3 for calling a global function with example usage: exactlyonearg(symbol, fact, expr) and returns: res