tmCases_on : term -> string list -> tactic
As a convenience, if the term argument is a variable, and there are variables of that name free in the goal, or bound by top-level universal quantifiers in the goal’s conclusion, then the type of the variable is ignored and its name is used to generate the argument to the tactic. If a goal has multiple variables of the same name (always a bad idea!) the choice of variable is unspecified.
?- MAP f l = []
========================================= tmCases_on “l” ["", "e es"]
?- MAP f [] = [] ?- MAP f (e::es) = []