ℕ →
  Lean.Expr →
    Lean.Level →
      Lean.Expr →
        Lean.Expr →
          Option (Lean.Expr × ℕ) →
            Option Lean.Expr →
              Option Lean.Expr →
                Option Lean.Expr →
                  Option Lean.Expr →
                    Option Lean.Expr →
                      Option Lean.Expr →
                        Option Lean.Expr →
                          Option Lean.Expr →
                            Lean.PArray Lean.Expr →
                              Lean.PHashMap Lean.Meta.Sym.ExprPtr Lean.Grind.CommRing.Var →
                                Lean.PHashMap Lean.Meta.Sym.ExprPtr Lean.Meta.Grind.Arith.CommRing.RingExpr →
                                  Option Lean.Expr →
                                    Option ℕ →
                                      Lean.Expr →
                                        Lean.Expr →
                                          Option Lean.Expr →
                                            Option Lean.Expr →
                                              Lean.PArray (Lean.Expr × Lean.Meta.Grind.Arith.CommRing.RingExpr) →
                                                ℕ →
                                                  ℕ →
                                                    Lean.Meta.Grind.Arith.CommRing.Queue →
                                                      List Lean.Meta.Grind.Arith.CommRing.EqCnstr →
                                                        Lean.PArray Lean.Meta.Grind.Arith.CommRing.DiseqCnstr →
                                                          Bool →
                                                            Lean.PHashSet Lean.Expr →
                                                              Option Lean.Meta.Grind.Arith.CommRing.EqCnstr →
                                                                Bool → Lean.Meta.Grind.Arith.CommRing.CommRing