∀ {σ : Type} (id : ℕ) (mkInitial : IO σ) (internalize : Lean.Expr → Option Lean.Expr → Lean.Meta.Grind.GoalM Unit)
  (newEq newDiseq : Lean.Expr → Lean.Expr → Lean.Meta.Grind.GoalM Unit) (mbtc : Lean.Meta.Grind.GoalM Bool)
  (action : Lean.Meta.Grind.Action) (check : Lean.Meta.Grind.GoalM Bool) (checkInv : Lean.Meta.Grind.GoalM Unit)
  (id_1 : ℕ) (mkInitial_1 : IO σ) (internalize_1 : Lean.Expr → Option Lean.Expr → Lean.Meta.Grind.GoalM Unit)
  (newEq_1 newDiseq_1 : Lean.Expr → Lean.Expr → Lean.Meta.Grind.GoalM Unit) (mbtc_1 : Lean.Meta.Grind.GoalM Bool)
  (action_1 : Lean.Meta.Grind.Action) (check_1 : Lean.Meta.Grind.GoalM Bool) (checkInv_1 : Lean.Meta.Grind.GoalM Unit),
  ({ id := id, mkInitial := mkInitial, internalize := internalize, newEq := newEq, newDiseq := newDiseq, mbtc := mbtc,
        action := action, check := check, checkInv := checkInv } =
      { id := id_1, mkInitial := mkInitial_1, internalize := internalize_1, newEq := newEq_1, newDiseq := newDiseq_1,
        mbtc := mbtc_1, action := action_1, check := check_1, checkInv := checkInv_1 }) =
    (id = id_1 ∧
      mkInitial = mkInitial_1 ∧
        internalize = internalize_1 ∧
          newEq = newEq_1 ∧
            newDiseq = newDiseq_1 ∧ mbtc = mbtc_1 ∧ action = action_1 ∧ check = check_1 ∧ checkInv = checkInv_1)