let F : ℕ → ℕ → ℕ := fun x y => (isLeNat (f x) y).and (isLtNat y (f (x + 1)))
n : ℕ
i : Fin n
f : ℕ → ℕ
hf : Arith₁ fun v => f (v.get 0)
⊢ ArithPart₁ fun v => Nat.rfind fun x => Part.some (decide (f x ≤ v.get i ∧ v.get i < f (x + 1)))
n : ℕ
i : Fin n
f : ℕ → ℕ
hf : Arith₁ fun v => f (v.get 0)
F : ℕ → ℕ → ℕ := fun x y => ((f x).isLeNat y).and (y.isLtNat (f (x + 1)))
⊢ ArithPart₁ fun v => Nat.rfind fun x => Part.some (decide (f x ≤ v.get i ∧ v.get i < f (x + 1)))