code: def get_matrix_facts(x=None):
      """
      Facts between unary matrix predicates.
  
      Parameters
      ==========
  
      x : Symbol, optional
          Placeholder symbol for unary facts. Default is ``Symbol('x')``.
  
      Returns
      =======
  
      fact : Known facts in conjugated normal form.
  
      """
      if x is None:
          x = Symbol("x")
  
      fact = And(
          # matrices
          Implies(Q.orthogonal(x), Q.positive_definite(x)),
          Implies(Q.orthogonal(x), Q.unitary(x)),
          Implies(Q.unitary(x) & Q.real_elements(x), Q.orthogonal(x)),
          Implies(Q.unitary(x), Q.normal(x)),
          Implies(Q.unitary(x), Q.invertible(x)),
          Implies(Q.normal(x), Q.square(x)),
          Implies(Q.diagonal(x), Q.normal(x)),
          Implies(Q.positive_definite(x), Q.invertible(x)),
          Implies(Q.diagonal(x), Q.upper_triangular(x)),
          Implies(Q.diagonal(x), Q.lower_triangular(x)),
          Implies(Q.lower_triangular(x), Q.triangular(x)),
          Implies(Q.upper_triangular(x), Q.triangular(x)),
          Implies(
              Q.triangular(x),
              Q.upper_triangular(x) | Q.lower_triangular(x),
          ),
          Implies(
              Q.upper_triangular(x) & Q.lower_triangular(x),
              Q.diagonal(x),
          ),
          Implies(Q.diagonal(x), Q.symmetric(x)),
          Implies(Q.unit_triangular(x), Q.triangular(x)),
          Implies(Q.invertible(x), Q.fullrank(x)),
          Implies(Q.invertible(x), Q.square(x)),
          Implies(Q.symmetric(x), Q.square(x)),
          Implies(Q.fullrank(x) & Q.square(x), Q.invertible(x)),
          Equivalent(Q.invertible(x), ~Q.singular(x)),
          Implies(Q.integer_elements(x), Q.real_elements(x)),
          Implies(Q.real_elements(x), Q.complex_elements(x)),
      )
      return fact
  
file_path: sympy/sympy/assumptions/facts.py
imports: from sympy.assumptions.ask import Q
  from sympy.assumptions.assume import AppliedPredicate
  from sympy.core.cache import cacheit
  from sympy.core.symbol import Symbol
  from sympy.logic.boolalg import to_cnf, And, Not, Implies, Equivalent, Exclusive
  from sympy.logic.inference import satisfiable
label_desc: Use image node_id 4 for calling a global function with example usage: get_matrix_facts(x) and returns: fact