Zulip Chat Archive
Stream: new members
Topic: not 0 = 2
Bolton Bailey (Jan 13 2021 at 13:21):
Very embarrased to ask this, but I've searched the documentation for an hour and cannot find an answer to this very simple question. How does one prove a fact such as \not 0 = 2
for naturals?
Mario Carneiro (Jan 13 2021 at 13:21):
dec_trivial
will work for naturals, by norm_num
works in general
Mario Carneiro (Jan 13 2021 at 13:22):
Or two_ne_zero'
if you just want the exact theorem
Bolton Bailey (Jan 13 2021 at 13:26):
Great thanks. How come library_search does not seem to work for this?
Damiano Testa (Jan 13 2021 at 13:28):
It may have to do with the fact that the lemma is 2 \neq 0
. This works:
example : 2 ≠ 0 := by library_search
as does
example : 0 ≠ 2 := by library_search
Kevin Buzzard (Jan 13 2021 at 13:43):
Why would a library have a proof of \not 0 = 2
? Do you want it to have a proof that 2 is not 37? It's a finite library. This is the sort of thing you should prove with a calculation right?
Mario Carneiro (Jan 13 2021 at 13:51):
well, two is an important number
Kevin Buzzard (Jan 13 2021 at 13:55):
One has to stop somewhere though. Is three an important number?
My point is really that it's important to learn early on what one expects in a library and what one is expected to deal with using results in a library and tactics.
Damiano Testa (Jan 13 2021 at 13:56):
Just for fun. This also works:
example : 37 ≠ 0 := by library_search
Damiano Testa (Jan 13 2021 at 13:56):
This does look like the library of Babel...
Damiano Testa (Jan 13 2021 at 13:58):
I think that we can prove by induction that library_search
contains the proof of all lemmas n.succ \neq 0
.
Kevin Buzzard (Jan 13 2021 at 14:05):
Damiano Testa said:
Just for fun. This also works:
example : 37 ≠ 0 := by library_search
Oh yeah, I put that one in because I deemed it important. Wait -- what? What does by show_term {library_search}
say?
Kevin Buzzard (Jan 13 2021 at 14:05):
Oh -- is it using succ_ne_zero
?
Damiano Testa (Jan 13 2021 at 14:13):
Yes, this is what it says:
Try this: exact 36.succ_ne_zero
Damiano Testa (Jan 13 2021 at 14:16):
I guess that this means that the library is finite in the sense that you can only check out a finite number of lemmas from it, but the number of lemmas that it contains is not finite...
Kevin Buzzard (Jan 13 2021 at 14:18):
this is a lemma with a variable input so really it's a family of lemmas
Damiano Testa (Jan 13 2021 at 14:21):
Maybe we should define flat families of lemmas...
Kevin Buzzard (Jan 13 2021 at 15:06):
I think they might all be flat
Last updated: Dec 20 2023 at 11:08 UTC