Zulip Chat Archive
Stream: mathlib4
Topic: simp doesn't work without placeholders
Eric Wieser (Mar 15 2023 at 11:52):
I'm seeing some very weird behavior in !4#2899; simp only [Set.mem_vsub (β := _), ...]
makes progress on a goal that simp only [Set.mem_vsub, ...]
does not. Why does filling an implicit argument to docs4#Set.mem_vsub with a placeholder change the behavior?
Eric Wieser (Mar 15 2023 at 11:53):
The file is also full of places where simp [lineMap_apply _]
succeeds but simp [lineMap_apply]
would fail
Eric Wieser (Mar 15 2023 at 11:54):
At a guess, this is something to do with outParam
handling in simp
Floris van Doorn (Mar 15 2023 at 17:49):
My guess is that it depends on whether a name or an expression is passed to simp
. What does simp only [(Set.mem_vsub), ...]
do?
Eric Wieser (Mar 16 2023 at 16:12):
That works!
Eric Wieser (Mar 16 2023 at 16:12):
In fact, that now consistently fixes the problems in the file
Kevin Buzzard (Mar 16 2023 at 17:14):
That's a really nice hack to know, but is it really what we want?
Eric Wieser (Mar 16 2023 at 17:15):
I think simp [foo _]
is a worse hack than simp [(foo)]
; the latter at least raises red flags that something weird is going on
Eric Wieser (Mar 16 2023 at 17:16):
Am I right in thinking that simp [foo]
really means simp [(@foo)]
?
Last updated: Dec 20 2023 at 11:08 UTC