def foo (r : Nat) : Nat := match r with | Nat.zero => 0 | l@(Nat.succ _) => match l with | 0 => 0 | Nat.succ ll => match ll with | Nat.succ _ => 0 | _ => 0 example {r : Nat} : foo r = 0 := by simp only [foo] guard_target =ₛ (match r with | Nat.zero => 0 | l@h:(Nat.succ n) => match l, h with | 0, h => 0 | Nat.succ ll, h => match ll, h with | Nat.succ n_1, h => 0 | x, h => 0) = 0 sorry