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