Skip to content

remove Heap, PermutEq, and PermutSetoid from Sorting #151

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

andres-erbsen
Copy link
Collaborator

@andres-erbsen andres-erbsen commented May 31, 2025

  • Added changelog.
  • Added / updated documentation.
  • Opened overlay pull requests.

@andres-erbsen
Copy link
Collaborator Author

andres-erbsen commented Jun 2, 2025

@fblanqui what's your opinion on PermutSetoid? These files are marked as deprecated in stdlib, but CoLoR uses them, and somewhat seriously it seems. Do you think they are worth recommending to new users (by keeping them in stdlib)? My own experience is quite limited, but I wonder whether relation composition of Forall2 SetoidEq and Permutation would be friendlier to work with than PermutSetoid.

@fblanqui
Copy link

fblanqui commented Jun 3, 2025

Hi. I don't have any opinion on that yet. I didn't write the CoLoR files that use PermutSetoid. What I understand is that PermutSetoid.permutation defines permutation of two lists of elements of A modulo an equivalence relation on A, by using Multiset.meq. But this is also more directly defined in SetoidPermutation. But this probably requires to adapt a few proofs.

16:26 ~/src/color (master) gc PermutSetoid|cat
./Util/Relation/SCCTopoOrdering.v:13:From Coq Require Import Permutation Multiset Heap PermutSetoid.
./Util/List/ListPermutation.v:14:From Coq Require Export Permutation PermutSetoid Multiset.
./Util/Multiset/MultisetList.v:13:From Coq Require Import Permutation PermutSetoid Lia Multiset.
./DP/ASCCUnion.v:12:From Coq Require Import Permutation Multiset Setoid PermutSetoid.

@andres-erbsen
Copy link
Collaborator Author

Ah, I was somehow not noticing SetoidPermutation when I reached out. Given that it already exists in stdlib, for more than a decade, my sense is that for stdlib the best plan would be to go ahead with the removal of PermutSetoid.

Now, what would be good for CoLoR in this scenario? Would you want to take over PermutSetoid, or remove the reliance on it?

@fblanqui
Copy link

fblanqui commented Jun 3, 2025

I don't know, and I don't have much time to dedicate to this at the moment. The simplest is probably to copy and paste PermutSetoid in CoLoR I guess.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants