Closed TentativeConvert closed 4 months ago
Hint
does not care if variables/hypothesis are accessible or not. (although, I guess I could look into implementing such a feature if desired.)by_cases
ignoring set_option tactic.hygienic false
. (Zulip)Ah, I forgot that branches catch different proof states and not different commands/tactics.
But two students made a mistake in this step, out of a very small sample size. So at least there should be a hint saying not to use by_cases a : A
after intro a
. OR, perhaps there should be some explanation earlier about naming assumptions and possible pitfalls.
I added a fixed by_cases
tactic to the game that deals with both cases:
a
already exists, by_cases a : A
will create a Hypothesis a_1 : A
.by cases A
will create a hyp h : A
(or h_1 : A
if h
already exists.)I'm trying to get this upstreamed, but since by_cases
is now in Core Lean, PR's might not be as welcome as in Mathlib/Std.
(but even if we keep the modified tactic in the game, besides better naming, it should be the same as the original one, so that should be no issue to the player)
Add branches with these commands, and add hints to these branches.
a
, so usinga
inby_cases a : A
will rename the existing assumption in an inaccessible way.by cases A
will likewise produce inaccesible assumption.