Zulip Chat Archive
Stream: mathlib4
Topic: rw? not closing goal
Patrick Massot (Sep 18 2023 at 14:00):
There is an inconsistency between apply? and rw? when the first suggestion closes the goal.
import Mathlib.Tactic
import Mathlib.Data.Real.Basic
example (x : ℝ) (h : 0 < x) : |x| = x := by -- no error
apply?
example (x : ℝ) (h : 0 < x) : |x| = x := by -- unsolved goal
rw?
I prefer the apply? behavior because i leave those tactics in my lecture notes when I want to point out there is no need to remember a lemma name.
Patrick Massot (Sep 18 2023 at 14:00):
@Scott Morrison
Patrick Massot (Sep 18 2023 at 14:01):
Wait, my example isn't good.
Patrick Massot (Sep 18 2023 at 14:01):
I meant to write an example where there is no remaining goal at all.
Patrick Massot (Sep 18 2023 at 14:02):
import Mathlib.Tactic
import Mathlib.Data.Real.Basic
example (x y : ℝ) : x + y = y + x := by -- no error
apply?
example (x y : ℝ) : x + y = y + x := by -- unsolved goal
rw?
is what I meant
Scott Morrison (Sep 18 2023 at 23:37):
This is currently rw?!. I guess there is no harm in just making it the default.
Scott Morrison (Sep 18 2023 at 23:44):
@Patrick Massot, #7247
Patrick Massot (Sep 19 2023 at 00:06):
Thanks!
Antoine Chambert-Loir (Sep 19 2023 at 10:08):
There are also moments where I want to do some rewrite. My strategy then is to construct an example which asserts the equality and to search for a proof using apply?. But very often, its answer is rfl and I'm stuck in my ignorance.
Scott Morrison (Sep 19 2023 at 11:28):
@Antoine Chambert-Loir, doesn't rw? solve this problem for you? It won't ever say rfl. It's also often easy to use because you don't need to "isolate" the fact you know you need.
Antoine Chambert-Loir (Sep 19 2023 at 11:35):
I'm not sure I ever tried that… I'll try next time, thanks for the hint!
Ruben Van de Velde (Sep 19 2023 at 11:40):
Yeah, I also use it for this purpose. (Though it would be nice if apply? didn't insist on suggesting rfl so much)
Scott Morrison (Sep 19 2023 at 11:41):
The hooks are all there in solve_by_elim to reject that solution!
Scott Morrison (Sep 19 2023 at 11:41):
(Although I do plan to rewrite all those hooks in the new future, so maybe it is best not to learn/use them right now. :-)
Last updated: May 02 2025 at 03:31 UTC