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: May 02 2025 at 03:31 UTC