α : Type u_1
cut : α → Ordering
cmp : α → α → Ordering
f : α → α
t : RBNode α
h : Ordered cmp t
c✝ : RBColor
l✝ : RBNode α
v✝ : α
r✝ : RBNode α
x✝ : Path α
H : OnRoot (fun x => cmpEq cmp (f x) x) (node c✝ l✝ v✝ r✝, x✝).fst
eq : RBNode.zoom cut t Path.root = (node c✝ l✝ v✝ r✝, x✝)
⊢ Path.RootOrdered cmp x✝ (f v✝) ∧ OnRoot (cmpEq cmp (f v✝)) (node c✝ l✝ v✝ r✝)
α : Type u_1
cut : α → Ordering
cmp : α → α → Ordering
f : α → α
t : RBNode α
H : OnRoot (fun x => cmpEq cmp (f x) x) (RBNode.zoom cut t Path.root).fst
h : Ordered cmp t
c✝ : RBColor
l✝ : RBNode α
v✝ : α
r✝ : RBNode α
x✝ : Path α
eq : RBNode.zoom cut t Path.root = (node c✝ l✝ v✝ r✝, x✝)
⊢ Path.RootOrdered cmp x✝ (f v✝) ∧ OnRoot (cmpEq cmp (f v✝)) (node c✝ l✝ v✝ r✝)
rw [eq] at H
no goals
α : Type u_1
cut : α → Ordering
cmp : α → α → Ordering
f : α → α
t : RBNode α
h : Ordered cmp t
c✝ : RBColor
l✝ : RBNode α
v✝ : α
r✝ : RBNode α
x✝ : Path α
H : OnRoot (fun x => cmpEq cmp (f x) x) (node c✝ l✝ v✝ r✝, x✝).fst
eq : RBNode.zoom cut t Path.root = (node c✝ l✝ v✝ r✝, x✝)
⊢ Path.RootOrdered cmp x✝ (f v✝) ∧ OnRoot (cmpEq cmp (f v✝)) (node c✝ l✝ v✝ r✝)
exact ⟨H.RootOrdered_congr.2 (h.zoom eq).2.2.1.1, H⟩