{α : Type u} →
  {range : Lean.Grind.IntInterval} →
    {motive : Lean.Grind.ToInt α range → Sort u_1} →
      (t : Lean.Grind.ToInt α range) →
        ((toInt : α → ℤ) →
            (toInt_inj : ∀ (x y : α), toInt x = toInt y → x = y) →
              (toInt_mem : ∀ (x : α), toInt x ∈ range) →
                motive { toInt := toInt, toInt_inj := toInt_inj, toInt_mem := toInt_mem }) →
          motive t