constructor
n : ℕ
i : Fin n
this :
  ArithPart₁ fun v =>
    rfind fun x => Part.some (decide ((fun x x => x * x) v x ≤ v.get i ∧ v.get i < (fun x x => x * x) v (x + 1)))
v : Vector ℕ n
⊢ true =
      (decide ((v.get i).sqrt * (v.get i).sqrt ≤ v.get i) &&
        decide (v.get i < ((v.get i).sqrt + 1) * ((v.get i).sqrt + 1))) ∧
    ∀ {m : ℕ}, m < (v.get i).sqrt → false = (decide (m * m ≤ v.get i) && decide (v.get i < (m + 1) * (m + 1)))
case left
n : ℕ
i : Fin n
this :
  ArithPart₁ fun v =>
    rfind fun x => Part.some (decide ((fun x x => x * x) v x ≤ v.get i ∧ v.get i < (fun x x => x * x) v (x + 1)))
v : Vector ℕ n
⊢ true =
    (decide ((v.get i).sqrt * (v.get i).sqrt ≤ v.get i) &&
      decide (v.get i < ((v.get i).sqrt + 1) * ((v.get i).sqrt + 1)))

case right
n : ℕ
i : Fin n
this :
  ArithPart₁ fun v =>
    rfind fun x => Part.some (decide ((fun x x => x * x) v x ≤ v.get i ∧ v.get i < (fun x x => x * x) v (x + 1)))
v : Vector ℕ n
⊢ ∀ {m : ℕ}, m < (v.get i).sqrt → false = (decide (m * m ≤ v.get i) && decide (v.get i < (m + 1) * (m + 1)))