Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Rodolphe Lepigre
stdpp
Commits
a7ee334e
Commit
a7ee334e
authored
Feb 21, 2019
by
Robbert Krebbers
Browse files
Support `_ ∈ _ ⊎ _ ` in `set_solver`.
parent
453f5e30
Changes
1
Hide whitespace changes
Inline
Side-by-side
theories/gmultiset.v
View file @
a7ee334e
...
...
@@ -126,6 +126,14 @@ Qed.
Global
Instance
gmultiset_elem_of_dec
:
RelDecision
(
∈
@{
gmultiset
A
}).
Proof
.
refine
(
λ
x
X
,
cast_if
(
decide
(
0
<
multiplicity
x
X
)))
;
done
.
Defined
.
Global
Instance
set_unfold_gmultiset_disj_union
x
X
Y
P
Q
:
SetUnfold
(
x
∈
X
)
P
→
SetUnfold
(
x
∈
Y
)
Q
→
SetUnfold
(
x
∈
X
⊎
Y
)
(
P
∨
Q
).
Proof
.
intros
??
;
constructor
.
rewrite
<-(
set_unfold
(
x
∈
X
)
P
),
<-(
set_unfold
(
x
∈
Y
)
Q
).
rewrite
!
elem_of_multiplicity
,
multiplicity_disj_union
.
lia
.
Qed
.
(* Algebraic laws *)
(** For union *)
Global
Instance
gmultiset_union_comm
:
Comm
(=@{
gmultiset
A
})
(
∪
).
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment