lean4-htt/tests/lean/run/issue8360.lean
Joachim Breitner e5393cf6bc
fix: cases tactic to handle non-atomic eliminator well (#8361)
This PR fixes a bug in the `cases` tacic introduced in #3188 that arises
when cases (not induction) is used with a non-atomic expression in using
and the argument indexing gets confused.

This fixes #8360.
2025-05-15 16:59:11 +00:00

7 lines
374 B
Text
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

axiom thm.{u_1, u_2} {α : Type u_1} {β : Type u_2} (f : α → β)
(motive : List α → List β → Prop) (case1 : motive [] [])
(case2 : ∀ (a : α) (as : List α), motive (a :: as) (f a :: List.map f as)) (l : List α) : motive l (List.map f l)
theorem map_isNil (f : α → β) (l : List α) :
List.map f l = [] ↔ l = [] := by
cases l using thm f <;> simp