Commit 2026-01-13 15:36 55c8e3f0
View on Github →fix(Tactic/Widget/Conv): fix various issues (#25889)
Fixes various issues with the conv? widget. Closes #25162. This is essentially a complete rewrite of the conv? widget.
(Zulip thread)
Specifically, fixes issues with conv? where
- when converting a
SubExpr.Posto conv directions, it always uses the goal expression as reference, even when working on a hypothesis, this often leads to bad results and makes it unusable on hypotheses - it refuses to go all the way in to a function (for example in
Nat.succ 0, you can't accessNat.succ) - it refuses to enter binders where the name of the bound variable contains the character
0(try it on∀ (x0 : Nat), x0 = x0) - it panics if it can't find a binder name instead of just coming up with one itself, this also means usually you can't enter either side of a non-dependent arrow since those usually don't have binder names (try it on
False → False) - you can't enter the type of a binder, you end up going into the body instead (try it on
fun (x : False) => (x.elim : False → Nat) x.elim) - you can't partially enter a function, you end up going to the top argument after instead (for example, in the expression
id (id id) 0, when you click onid (id id), you end up going toid id)