code: def rule_str(C: List, fmt: str = "%.3f") -> str:
      """
      Convert a rule into a string.
  
      :param C: List of rules, where each element is a list (a single rule) containing a set of atoms.
      :type C: List
      :param fmt: Formatting string for floats, defaults to "%.3f"
      :type fmt: str
      :return: Formatted rule
      :rtype: str
      """
      s = "  " + "\n∨ ".join(
          [
              "(%s)"
              % (
                  " ∧ ".join(
                      [fatom(a[0], a[1], a[2], fmt=fmt) for a in c]
                  )
              )
              for c in C
          ]
      )
      return s
  
imports: from typing import Dict, List, Optional, Union
  import numpy
  import pandas
label_desc: Use image node_id 4 for calling a global function with example usage: rule_str(C, fmt) and returns: s