Zulip Chat Archive
Stream: general
Topic: refine_struct cases
Yury G. Kudryashov (Apr 08 2020 at 04:31):
I called refine_struct { .. }
on an equiv
goal, and it generated 4 goals, first of them labeled case equiv, to_fun
.
Yury G. Kudryashov (Apr 08 2020 at 04:31):
How do I focus those goals by name?
Yury G. Kudryashov (Apr 08 2020 at 04:32):
I tried case equiv to_fun
, case equiv.to_fun
, case "equiv, to_fun"
Johan Commelin (Apr 08 2020 at 04:35):
@Simon Hudon :up:
Mario Carneiro (Apr 08 2020 at 05:58):
You can't, at least not with case
Mario Carneiro (Apr 08 2020 at 05:59):
case
is explicitly filtering for cases that are tagged with _case
or _case_simple
, while refine_struct
generates cases tagged with _field
Mario Carneiro (Apr 08 2020 at 06:02):
I hadn't realized that there is an additional hidden tag marker like this. This seems like a dubious feature, since there is no UI indication that this case
is any different from the kind of case you get from the inductive
tactic
Kevin Buzzard (Apr 08 2020 at 07:31):
Ooh tag markers. That's new
Simon Hudon (Apr 08 2020 at 14:48):
with refine_struct
, you use field
instead of case
. You use it as field my_struct_field { tactic }
Simon Hudon (Apr 08 2020 at 14:52):
You can use have_field
to stand for have field := @my_struct.some_field
Last updated: Dec 20 2023 at 11:08 UTC