Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR is not ready, just an illustration of one possible way forward with iapply.
The fact that we don't have access to a backtracking typeclass search when writing tactics is a difference to the Iris Rocq implementation that could cause trouble for us. Specifically, Rocq uses Ltac's backtracking search plus alongside the stdpp tactic tc_solve to interleave Ltac backtracking search and typeclass resolution, in such a way that the typeclasses it's already tried get ignored. Lean does not have this capability, as far as I understand.
I'm experimenting with using alternate versions of the MoSeL typeclasses with in/out params to see if I can get around this limitation. Specifically, I'm trying to see if we can come up with a different suite of typeclasses that can do all of the backtracking "inside one step of typeclass inference", for the few remaining tactics we have yet to implement.