Skip to content
Snippets Groups Projects
Commit 376e5e05 authored by Robbert Krebbers's avatar Robbert Krebbers
Browse files

Merge branch 'robbert/multiset_solver' into 'master'

Add solver `multiset_solver` for multisets

See merge request !167
parents 6ee0e09e 45b64e21
No related branches found
No related tags found
1 merge request!167Add solver `multiset_solver` for multisets
Pipeline #30172 passed
......@@ -20,6 +20,7 @@ API-breaking change is listed.
- Rename `drop_insert` into `drop_insert_gt` and add `drop_insert_le`.
- Added `Countable` instance for `Ascii.ascii`.
- Make lemma `list_find_Some` more apply friendly.
- Add tactic `multiset_solver` for solving goals involving multisets.
## std++ 1.3 (released 2020-03-18)
......
From stdpp Require Import gmultiset.
Section test.
Context `{Countable A}.
Implicit Types x y : A.
Implicit Types X Y : gmultiset A.
Lemma test1 x y X : {[x]} ({[y]} X) ∅.
Proof. multiset_solver. Qed.
Lemma test2 x y X : {[x]} ({[y]} X) = {[y]} ({[x]} X).
Proof. multiset_solver. Qed.
Lemma test3 x : {[x]} ≠@{gmultiset A} ∅.
Proof. multiset_solver. Qed.
Lemma test4 x y z X Y :
{[z]} X = {[y]} Y
{[x]} ({[z]} X) = {[y]} ({[x]} Y).
Proof. multiset_solver. Qed.
Lemma test5 X x : X = {[x]} X ≠@{gmultiset A} ∅.
Proof. multiset_solver. Qed.
End test.
This diff is collapsed.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment