have hl (acc : DefaultFormula n) (ih : acc.ratUnits = #[]) (id : Nat) (_id_in_arr : id ∈ arr.data) :
  (deleteOne acc id).ratUnits = #[] := by rw [deleteOne_preserves_ratUnits, ih]
case left
n : Nat
f : DefaultFormula n
arr : Array Nat
h : f.readyForRatAdd
hb : f.ratUnits = #[]
⊢ (List.foldl (fun f id => f.deleteOne id) f arr.data).ratUnits = #[]
case left
n : Nat
f : DefaultFormula n
arr : Array Nat
h : f.readyForRatAdd
hb : f.ratUnits = #[]
hl : ∀ (acc : DefaultFormula n), acc.ratUnits = #[] → ∀ (id : Nat), id ∈ arr.data → (acc.deleteOne id).ratUnits = #[]
⊢ (List.foldl (fun f id => f.deleteOne id) f arr.data).ratUnits = #[]