Zulip Chat Archive
Stream: new members
Topic: proving goals with ≠
João Felipe (Dec 18 2023 at 17:21):
How do I prove goals with ≠?
Patrick Massot (Dec 18 2023 at 17:29):
Did you read https://leanprover-community.github.io/mathematics_in_lean/C03_Logic.html#negation already?
João Felipe (Dec 18 2023 at 17:44):
Yes, just read it. :upside_down:
Patrick Massot (Dec 18 2023 at 17:47):
So you know x ≠ y means x = y implies False. Hence a direct proof starts with intro hxy and then proves a contradiction.
João Felipe (Dec 18 2023 at 17:47):
How would I prove a contradiction then?
Mauricio Collares (Dec 18 2023 at 17:51):
Can you give us an example of a particular goal you'd like to prove?
João Felipe (Dec 18 2023 at 17:53):
1 ≠ 2 * n
João Felipe (Dec 18 2023 at 17:53):
AKA 1 is not even
Riccardo Brasca (Dec 18 2023 at 17:54):
First of all you need to find a pen and paper proof... and "it's obvious" doesn't count
João Felipe (Dec 18 2023 at 17:54):
I already did induction n and proved the zero case with Nat.one_ne_zero
Riccardo Brasca (Dec 18 2023 at 17:57):
I don't think it's necessary to use induction, you can just use cases, meaning that n is either 0 or succ k. You already did the cases 0 and 2 * (succ k) = 2 * k + 1 + 1, so if this is equal to 1 you get that 2*k + 1 = 0 that is absurd
João Felipe (Dec 18 2023 at 17:57):
Yes
Riccardo Brasca (Dec 18 2023 at 17:57):
Of course I am using other results in mathlib, and it depends on what you want to prove by yourself
Riccardo Brasca (Dec 18 2023 at 18:01):
If your question is how to prove False in general, the solution is to find a lemma that already contains ≠ (for example 0 ≠ 1) and to apply it.
Riccardo Brasca (Dec 18 2023 at 18:02):
But which lemma to use of course depends on your math proof
Last updated: May 02 2025 at 03:31 UTC