Zulip Chat Archive

Stream: general

Topic: dsimp failing


Kevin Buzzard (Sep 12 2019 at 04:25):

example (A : Type) (a : list A) (L : list (list A)) :
  list.join (a :: L) = a ++ list.join L := by dsimp -- fails

rfl works. Does this mean that this example has not been tagged with [simp]? I don't even know if this theorem has a name -- library_search tells me the proof is exact rfl. I couldn't get #find to give any output at all:

import tactic.find

def find_bug_workaround := 37

#find list.join (_ :: _) = _ ++ list.join _

variables (A : Type) (a : list A) (L : list (list A))

#find list.join (a :: L) = a ++ list.join L

Is it a bad simp lemma?

Scott Morrison (Sep 12 2019 at 04:34):

Sounds like a good simp lemma to me!

Simon Hudon (Sep 12 2019 at 04:40):

Maybe we should tag list.join with @[simp]

Scott Morrison (Sep 12 2019 at 04:41):

Yes.


Last updated: Dec 20 2023 at 11:08 UTC