Zulip Chat Archive
Stream: mathlib4
Topic: Instances in refine (for port/RingTheory.Jacobson)
Antoine Chambert-Loir (Jul 02 2023 at 17:49):
I am trying to finish to port that file written in Lean 3 by @Devon Tuma
I have one question about instances as arguments.
Some statements have arguments of the form (P : Ideal R) [hP : IsMaximal P], but it seems that Lean 3 and Lean 4 behave differently, in so that Lean 4 blocks if the instance hP cannot be found, while Lean 3, if it finds P seems to be capable of creating the goal IsMaximal P.
Am I right ? If yes, how to circumvent this issue ?
One option would be to change the arguments formats to {P : Ideal R} (hP : IsMaximal P).
Riccardo Brasca (Jul 02 2023 at 19:33):
Doing refine' @foo _ _ _ should still work.
Riccardo Brasca (Jul 02 2023 at 19:34):
But I agree it would be nice if refine asks for instances that is not able to find, at least if they're Prop valued.
Kyle Miller (Jul 02 2023 at 19:41):
You might need to put (_) in place of _ for the instance argument
Scott Morrison (Jul 04 2023 at 07:30):
You can also use apply (config := {allowSynthFailures := true}).
Last updated: May 02 2025 at 03:31 UTC