Zulip Chat Archive
Stream: new members
Topic: contracting `by_cases`
Heather Macbeth (Jul 22 2020 at 01:16):
Suppose I have a proof beginning with by_cases
, and one of the cases is answered by a single lemma. Is there a syntactic trick to combine these two lines (the by_cases
and the exact [lemma]
) into one line?
Adam Topaz (Jul 22 2020 at 01:30):
You can probably do something with refine and LEM.
Heather Macbeth (Jul 22 2020 at 01:34):
Yes, I was hoping so -- do you know the syntax?
Adam Topaz (Jul 22 2020 at 01:45):
My first guess would be to try something approximately like this: refine or.elim (classical.em h) _ _
and fill in the blanks as necessary.
Heather Macbeth (Jul 22 2020 at 01:54):
Thanks! The or.elim
is what I needed.
Adam Topaz (Jul 22 2020 at 01:56):
Maybe a better way would be to refine decidable.by_cases, since (I assume) that's what by_cases actually does
Mario Carneiro (Jul 22 2020 at 09:38):
You could also write something like refine if h : p then term else _
Last updated: Dec 20 2023 at 11:08 UTC