Zulip Chat Archive
Stream: Is there code for X?
Topic: by_contra!
Yury G. Kudryashov (Aug 13 2021 at 11:15):
Do we have a name for by_contra H, push_neg at H
?
Kevin Buzzard (Aug 13 2021 at 11:18):
Is it something like contrapose!
?
Anne Baanen (Aug 13 2021 at 11:19):
Not really, since contrapose needs an implication. Well, perhaps by { have : true := \<\>, contrapose! this }
? :P
Yury G. Kudryashov (Aug 13 2021 at 11:19):
contrapose!
needs an assumption.
Anne Baanen (Aug 13 2021 at 11:19):
by_contra
is in core, so I don't think we can easily extend it
Yury G. Kudryashov (Aug 13 2021 at 11:24):
Can we extend contrapose!
to act like by_contra!
if called without arguments? Currently it expects the goal to be an implication in this case.
Yaël Dillies (Aug 13 2021 at 11:26):
Oh yeah, good idea. I wanted something like that a while back.
Patrick Massot (Aug 13 2021 at 12:17):
Having contrapose!
acting as by_contra!
would be weird. You wouldn't call that a contraposition on paper.
Yury G. Kudryashov (Aug 13 2021 at 13:38):
OK, then we can have by_contra'
.
Yury G. Kudryashov (Aug 13 2021 at 13:38):
(though it's the same word)
Last updated: Dec 20 2023 at 11:08 UTC