Skip to content
Snippets Groups Projects

Declare `equiv` as a rightful rewrite relation, when an `Equiv` instance is available.

Merged Matthieu Sozeau requested to merge mattam82/stdpp:coq-13969 into master
1 unresolved thread

This makes Iris & Perennial compatible with Coq PR #13969. Should be entirely backwards compatible.

Edited by Ralf Jung

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • Matthieu Sozeau resolved all threads

    resolved all threads

  • added 1 commit

    • b144619d - Apply 1 suggestion(s) to 1 file(s)

    Compare with previous version

  • Author Contributor

    It's an stdpp typeclass, not a Coq one unless I'm reading it wrong

  • Author Contributor

    The ssreflect issue is solved entirely: if the relation is ?R then we'll find iff, or eq depending on the type (but again that does not really matter, this query is ignored), if it's defined then we will look up if there is an Equivalence R just like before the PR.

    • Resolved by Robbert Krebbers

      Ah, you are right of course... I keep mixing up which typeclasses come from where.

      In that case I am in fact quite surprised that rewriting with equiv works without the RewriteRelation instance.

  • Author Contributor

    I agree, that's confusing.

    Edited by Matthieu Sozeau
  • @jung:

    In that case I am in fact quite surprised that rewriting with equiv works without the RewriteRelation instance.

    By default, prior to @mattam82's PR, it would look for Equivalence, and for any reasonable equiv there's a corresponding Equivalence instance. In https://github.com/coq/coq/pull/13969 @mattam82 wrote:

    In the last version I just pushed, RewriteRelation has no mode but won't fire Equivalence ?R constraints anymore, so Equivalence can also have mode ! ! without disrupting anything.

    Edited by Robbert Krebbers
  • @mattam82 There are some pending discussions. Let me know if this MR is blocked on action by me. If not, no rush :)

  • Ralf Jung changed the description

    changed the description

  • @mattam82 Any update on this (and the Coq PR in question)?

    From the std++/Iris side, we are very much interested in improving the setoid mechanism in Coq (and thus helping to get the PR through), but we also would like to understand what's happening in this mechanism. If it helps, we would also be available for a brief call to discuss some of the open issues in this MR and the Coq PR.

  • Status update: Blocked on @mattam82 getting back to their Coq PR.

  • added 1 commit

    • 3671f349 - Apply 2 suggestion(s) to 1 file(s)

    Compare with previous version

  • Author Contributor

    I'm on the PR again now, and the CI is blocked on this (backwards compatible) MR. We can have a call to settle the remaining questions if you like.

  • added 1 commit

    • bbdbb1c1 - Improve the doc for the `RewriteRelation equiv` instance.

    Compare with previous version

  • Robbert Krebbers
  • I think the current code makes sense. I left a small comment.

    I expect this MR to be backwards compatible, so we can merge it before Coq's MR (that avoids the need for overlays).

  • added 1 commit

    Compare with previous version

  • Robbert Krebbers resolved all threads

    resolved all threads

  • Robbert Krebbers enabled an automatic merge when the pipeline for c355607c succeeds

    enabled an automatic merge when the pipeline for c355607c succeeds

  • Ok, great, going to merge then. Thanks!

  • mentioned in commit 2af35753

  • Author Contributor

    @robbertkrebbers how does it work for iris to update its ref on stdpp? It apparently forces a specific commit.

  • It requires updating the opam file in Iris. I have just done that, see iris@8b085901

    If you need that again, you can either open an MR, or ask one of the Iris devs to update the file directly :smile:

  • Author Contributor

    Thanks!

  • Author Contributor

    Ah, in turn Coq's CI gets the iris version from the examples repo, can you bump it there as well?

  • Please register or sign in to reply
    Loading