Zulip Chat Archive
Stream: general
Topic: Proving FLT with norm_num
Eric Wieser (Mar 26 2024 at 21:56):
import Mathlib
variable (ignore_me_please : ∀ a b c n : ℕ, a ^ n + b ^ n ≠ c ^ n)
example (n) (hn : n > 2) (a b c : ℕ) : a ^ n + b ^ n ≠ c ^ n := by
clear ignore_me_please -- I promise not to use this, it would be cheating
norm_num [*]
Eric Wieser (Mar 26 2024 at 21:58):
(ok, I got the statement wrong, but obviously the interesting thing here is the footgun, not the fact I pointed it at the foot I thought was FLT)
Kevin Buzzard (Mar 26 2024 at 22:12):
great, I can retire early! So clear
isn't doing what I think it's doing?
Eric Wieser (Mar 26 2024 at 22:14):
norm_num
is matching *
against the context before clear
ran
Damiano Testa (Mar 26 2024 at 22:16):
And people still complain that there is the need for better automation.
Eric Wieser (Mar 26 2024 at 22:16):
My initial takeaway here is that *
is just really dangerous in the presence of variables
(without the clear
the proof does what you'd expect but not what you'd want), and secondarily there is obviously a bug above.
Floris van Doorn (Mar 26 2024 at 22:24):
I think we still need to overhaul the behavior of variable
in Lean 4, as was voted 22 to 0 in this poll: https://leanprover.zulipchat.com/#narrow/stream/113488-general/topic/automatic.20inclusion.20of.20variables.20in.20mathlib.204/near/386620103
Kim Morrison (Mar 27 2024 at 01:04):
An update on lean#2452: It is on the agenda, but not immediately. @Sebastian Ullrich wants to address this in his upcoming work on intra-file parallelism, where there will have to be substantial changes to the variable
mechanism anyway. Obviously this is a big project and won't happen overnight, but I think after incrementality is merged, the path is at least open.
Patrick Massot (Mar 27 2024 at 01:38):
Are there news that I missed about incrementality?
Kim Morrison (Mar 27 2024 at 01:55):
It won't make v4.8.0-rc1
, but v4.9.0-rc1
seems plausible. lean4#3636 if you'd like to follow the play-by-play!
Last updated: May 02 2025 at 03:31 UTC