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