intros
α : Type u
r : α → α → Prop
inst✝¹ : StrictLinearOrder r
inst✝ : DecidableRel r
β : α → Type v
f : (a : α) → β a → β a → Option (β a)
⊢ ∀ {xs_r : KVChain (flip r) β} {xs : KVChain r β} {hxs : hingeable xs_r xs}
    {hascend : List.Ascending (Sigma.relOnFst r) []}
    {hxsys : List.predHead ((fun a => boundLeft a xs_r) ∘ Sigma.fst) []},
    (mergeWith.loop f xs_r xs hxs [] hascend hxsys).toList =
      List.reverseAux xs_r.toList (mergeWith f xs { toList := [], ascend := hascend }).toList
α : Type u
r : α → α → Prop
inst✝¹ : StrictLinearOrder r
inst✝ : DecidableRel r
β : α → Type v
f : (a : α) → β a → β a → Option (β a)
xs_r✝ : KVChain (flip r) β
xs✝ : KVChain r β
hxs✝ : hingeable xs_r✝ xs✝
hascend✝ : List.Ascending (Sigma.relOnFst r) []
hxsys✝ : List.predHead ((fun a => boundLeft a xs_r✝) ∘ Sigma.fst) []
⊢ (mergeWith.loop f xs_r✝ xs✝ hxs✝ [] hascend✝ hxsys✝).toList =
    List.reverseAux xs_r✝.toList (mergeWith f xs✝ { toList := [], ascend := hascend✝ }).toList