Skip to content
Snippets Groups Projects

cogset

Merged David Swasey requested to merge swasey/coq-stdpp:cogset into master
All threads resolved!

Add a type cogset A of finite/cofinite sets of elements of countable type A. When A is also infinite, all the usual operations are decidable. The implementation uses a pair of constructors (finite or infinite) each carrying a finite set.

The file includes efficient conversions to and from gset A (for finite cogsets) and to coPset (for arbitrary cogsets), as well as less efficient conversions to and from other finite sets and other sets with a top element.

Two things are marked TODO in the source, which really means "to discuss".

Edited by David Swasey

Merge request reports

Approval is optional

Merged by Robbert KrebbersRobbert Krebbers 5 years ago (Feb 20, 2020 10:24pm UTC)

Merge details

  • Changes merged into master with 74649a4b.
  • Deleted the source branch.

Pipeline #24430 passed

Pipeline passed for 74649a4b 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
  • Robbert Krebbers mentioned in issue #48

    mentioned in issue #48

    • Resolved by David Swasey

      Thanks for the MR. Overall looks good to me.

      I'm not sure I'd like the name cogset. Maybe some capitals would make it easier to read?

      Would be worth taking a look at the conventions used elsewhere (and also in Iris). I think @jung had some opinions about capitalization of acronyms.

  • David Swasey added 3 commits

    added 3 commits

    • fce412de - Avoid Variant.
    • 3338e430 - Rename CofinGSet -> CoFinGSet.
    • 5041f6f6 - Add another goal set_solver cannot solve.

    Compare with previous version

  • David Swasey added 1 commit

    added 1 commit

    • a09c9e39 - Add set_unfold_cogset_top for discussion.

    Compare with previous version

  • David Swasey added 2 commits

    added 2 commits

    Compare with previous version

  • David Swasey added 1 commit

    added 1 commit

    • be1f8d38 - Indicate goals [set_solver] cannot solve.

    Compare with previous version

  • David Swasey added 1 commit

    added 1 commit

    • 35736d34 - Refine the cogset_elem_of_dec proof.

    Compare with previous version

  • David Swasey added 1 commit

    added 1 commit

    • cfab3848 - Drop a TODO and mark cogset_dom TC opaque (see #48).

    Compare with previous version

  • David Swasey added 1 commit

    added 1 commit

    Compare with previous version

  • David Swasey added 1 commit

    added 1 commit

    Compare with previous version

  • Author Contributor

    Once @robbertkrebbers responds and we resolve the lingering threads, would it be OK to (i) rebase to master (to use TopSet in this MR) and (ii) eliminate most of the intermediate commits?

    My understanding is that rebasing renders gitlab threads hard to follow. Rebasing after all threads are resolved should avoid that problem.

  • David Swasey added 1 commit

    added 1 commit

    Compare with previous version

  • David Swasey added 18 commits

    added 18 commits

    Compare with previous version

  • David Swasey added 1 commit

    added 1 commit

    Compare with previous version

  • David Swasey resolved all threads

    resolved all threads

  • Robbert Krebbers
  • Robbert Krebbers
  • David Swasey added 1 commit

    added 1 commit

    Compare with previous version

  • Robbert Krebbers resolved all threads

    resolved all threads

  • David Swasey added 1 commit

    added 1 commit

    • 41621488 - Shorten proof of `not_elem_of_iff`.

    Compare with previous version

  • David Swasey added 8 commits

    added 8 commits

    Compare with previous version

  • David Swasey resolved all threads

    resolved all threads

  • Author Contributor

    @robbertkrebbers anything else?

  • mentioned in commit 74649a4b

  • Merged. Thanks a lot for the MR and taking all the feedback into account.

    Edited by Robbert Krebbers
  • Please register or sign in to reply
    Loading