Zulip Chat Archive

Stream: Is there code for X?

Topic: A tactic for beta reduction


Snir Broshi (Feb 07 2026 at 02:55):

Is there a tactic that only does beta reduction? I usually reach for dsimp only but it doesn't always work:

/-- error: `dsimp` made no progress -/
#guard_msgs in
theorem foo {f : True  Prop} :
    f ((fun n  trivial) 0)  f ((fun n  trivial) 0) := by
  dsimp only
  sorry

Even if this is a bug in dsimp or if there's a technical reason why we shouldn't beta-reduce functions whose argument is a proof term, I'd still love to know of a dedicated tactic.
It feels strange to use a massive simplifier and disable its features just to get beta-reduction, it always looks like a non-terminal simp. Also dsimp only is pretty long to type.
I saw some strange beta% syntax once but I think it's some magic for term-mode and not a tactic.
Thanks!

Matt Diamond (Feb 07 2026 at 04:17):

beta_reduce?


Last updated: Feb 28 2026 at 14:05 UTC