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

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

Edited by Ralf Jung

Merge request reports

Merge request pipeline #59846 passed

Merge request pipeline passed for c355607c

Approval is optional

Merged by Robbert KrebbersRobbert Krebbers 3 years ago (Jan 11, 2022 3:35pm UTC)

Merge details

  • Changes merged into master with 2af35753 (commits were squashed).
  • Deleted the source branch.
  • Auto-merge enabled

Pipeline #59847 passed

Pipeline passed for 2af35753 on master

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.

  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Please register or sign in to reply
    Loading