unfold ftr at y_in
case mp
α : Type
x y : α
f : α → List α
m : α → ℕ
isDec : ∀ (x y : α), y ∈ f x → m y < m x
y_in : y ∈ ftr f m isDec x
⊢ y = x ∨ ∃ z ∈ f x, y ∈ ftr f m isDec z
case mp
α : Type
x y : α
f : α → List α
m : α → ℕ
isDec : ∀ (x y : α), y ∈ f x → m y < m x
y_in :
  y ∈
    let x := x;
    [x] ++
      (List.map
          (fun x_1 =>
            match x_1 with
            | ⟨y, y_in⟩ =>
              let_fun this := y_in;
              ftr f m isDec y)
          (f x).attach).join
⊢ y = x ∨ ∃ z ∈ f x, y ∈ ftr f m isDec z