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