docstr: Check if the complex dialect op has corresponding lowering function.
docstr_tok: ["Check","if","the","complex","dialect","op","has","corresponding","lowering","function","."]
code: def has_lower_func(op_type: str) -> bool:
      """Check if the complex dialect op has corresponding lowering function."""
      return op_type in LowerComplex._lower_map
  
imports: import functools
  from typing import Callable, Dict, Optional, Tuple
  import numpy
  from coremltools.converters.mil.mil import Builder
  from coremltools.converters.mil.mil import types
  from coremltools.converters.mil.mil.operation import Operation
  from coremltools.converters.mil.mil.ops.defs.complex_dialect_ops import fft_canonicalize_length_dim, fft_canonicalize_shapes_dims
  from coremltools.converters.mil.mil.passes.graph_pass import AbstractGraphPass
  from coremltools.converters.mil.mil.passes.helper import block_context_manager
  from coremltools.converters.mil.mil.passes.pass_registry import register_pass
  from coremltools.converters.mil.mil.var import ComplexVar, Var
label_desc: Use image node_id 2 for calling the LowerComplex obj's underlying member method code with example usage: obj.has_lower_func(op_type) and returns: unknown