Zulip Chat Archive
Stream: new members
Topic: Is `simp` an AI?
Huỳnh Trần Khanh (Feb 09 2021 at 08:38):
Is simp
an AI? Why does @Kevin Buzzard describe it as an AI? What machine learning (or not) algorithm does it use? Why is it faster than library_search
? To me simp
is the best thing since sliced bread, Dafny tries to close every induction-ish goal but doesn't give me much control over the process but in Lean I can write the outline of the induction proof, throw simp
at it and move on while I retain fine-grained control!
Johan Commelin (Feb 09 2021 at 08:40):
simp
is a rewriting system. It doesn't use any machine learning. Whether it's an AI depends on what your defn of AI is.
Huỳnh Trần Khanh (Feb 09 2021 at 08:42):
So how does it work internally then? Where can I read more about it?
Johan Commelin (Feb 09 2021 at 08:42):
It is clearly intelligent. Whether it's artificial...
Johan Commelin (Feb 09 2021 at 08:43):
https://en.wikipedia.org/wiki/Rewriting
Patrick Massot (Feb 09 2021 at 08:56):
https://leanprover-community.github.io/extras/simp.html
Eric Wieser (Feb 09 2021 at 08:58):
Has @Kevin Buzzard's rewrite of that document been merged yet?
Patrick Massot (Feb 09 2021 at 08:59):
yes
Patrick Massot (Feb 09 2021 at 09:00):
But then I censored his innovation of "smip normal fomr".
Kevin Buzzard (Feb 09 2021 at 09:03):
I thought "AI" was just any algorithm which attempts to solve a problem. I am not a computer scientist -- feel free to correct the document!
Eric Wieser (Feb 09 2021 at 09:09):
I assume simp is just a greedy algorithm, so calling it AI would be quite a stretch
Kevin Buzzard (Feb 09 2021 at 09:10):
I call refl
an AI.
Jasmin Blanchette (Feb 09 2021 at 09:19):
Just like you guys distinguish between elementary math and advanced math, we have non-AI vs. AI. It can't be defined, but if there's not a substantial heuristic / ad hoc component, it's not an AI.
Patrick Massot (Feb 09 2021 at 09:39):
The other extreme reserving AI to neural network (or even machine learning) is also ridiculous.
Andrew Ashworth (Feb 09 2021 at 09:48):
I feel like AI can be used to describe any algorithm that is used to replace what traditionally would be human decision-making or attempts to emulate an intelligent decision-maker. Which is why Deep Blue is an AI despite being a bunch of computers stapled to graph search algorithms and nobody snickers when we talk about video game AI despite most of them being very simple state machines
Mario Carneiro (Feb 09 2021 at 09:51):
AI is any algorithm you don't understand yet
Kevin Buzzard (Feb 09 2021 at 09:52):
so then simp
is definitely an AI :D (as is type class inference)
Andrew Ashworth (Feb 09 2021 at 09:54):
I'm not sure if it is right now, but it definitely would be once we give simp a nice animated paper clip avatar that pops up in the goal window when it produces squeeze simp results
Johan Commelin (Feb 09 2021 at 10:13):
For all linux users out there: this is an oblique reference to another microsoft product...
Patrick Massot (Feb 09 2021 at 10:49):
Jasmin Blanchette said:
Just like you guys distinguish between elementary math and advanced math, we have non-AI vs. AI. It can't be defined, but if there's not a substantial heuristic / ad hoc component, it's not an AI.
Kevin, note that refl
seems to fit the bill pretty well.
Kevin Buzzard (Feb 09 2021 at 11:07):
refl
is an AI because I don't understand it. For example the I've never managed to figure out why the description in the reference manual implies that quot.lift f h (quot.mk r a) = f a
can be proved by rfl
.
Last updated: Dec 20 2023 at 11:08 UTC