Skip to content
Snippets Groups Projects

Many improvements to `multiset_solver`

Merged Robbert Krebbers requested to merge robbert/multiset_solver into master
All threads resolved!
  1. Support
  2. Support
  3. Support case splitting on multiplicity x {[ y ]}, but only do this when there's no other way.

With the improved multiset_solver I am able to solve pretty much all lemmas in the gmultiset file automatically (apart from those that involve elements, size, and other connectives that are out of scope).

The new version also handles @fpottier's test case x ∈ X → {[x]} ⊆ X from #86 (closed).

In addition, I added a bunch of other test cases.

Merge request reports

Approval is optional

Merged by Robbert KrebbersRobbert Krebbers 4 years ago (Mar 13, 2021 7:24am UTC)

Merge details

Pipeline #43362 passed

Pipeline passed for 7fdaea0f 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
  • Ralf Jung
  • added 1 commit

    Compare with previous version

  • Ralf Jung resolved all threads

    resolved all threads

  • Ralf Jung mentioned in issue #86 (closed)

    mentioned in issue #86 (closed)

  • I added a bunch of other test cases.

    That's awesome. :)

    LGTM.

  • Robbert Krebbers mentioned in merge request !232 (closed)

    mentioned in merge request !232 (closed)

  • Robbert Krebbers added 12 commits

    added 12 commits

    • 0747d547...6d001c9d - 3 commits from branch master
    • 1cba100b - Fix priorities of `SetUnfold` instances for `multisets`.
    • d063413c - Extend `multiset_solver` with support for `∈`.
    • 8cf6ac9e - Let `multiset_solver` case split on `x = y`/`x ≠ y` for `multiplicity x {[ y ]}`.
    • bb8ce569 - Tweak `multiset_simplify_singletons` to avoid needless case-splits.
    • 99b2a184 - Extend multiset_solver with support for `⊂`.
    • 1efc3af6 - Update `multiset_solver` documentation.
    • deb87cfd - Reorganize and extend test file for `multiset_solver`.
    • a4bbf88f - Tweak docs.
    • 3375dd20 - Turn `x ∈ X` only into `0 < multiplicity x X` at leaves of `∈` to enable...

    Compare with previous version

  • I detected a regression in Iris, I fixed that, and added a testcase.

  • added 1 commit

    • 891f58bf - Put `SetUnfoldElemOf` instances together.

    Compare with previous version

  • added 1 commit

    • 691a6000 - Better tests for `∈` in conclusion of `multiset_solver` goal.

    Compare with previous version

  • Robbert Krebbers resolved all threads

    resolved all threads

  • mentioned in commit 7fdaea0f

  • Please register or sign in to reply
    Loading