Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Iris
stdpp
Commits
77eecb3c
Commit
77eecb3c
authored
Jun 20, 2019
by
Robbert Krebbers
Browse files
Merge branch 'ralf/proper-dom' into 'master'
show a Proper instance for dom See merge request
!74
parents
4978faed
4f68d8a9
Pipeline
#17826
passed with stage
in 8 minutes and 29 seconds
Changes
1
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
theories/fin_map_dom.v
View file @
77eecb3c
...
...
@@ -119,6 +119,17 @@ Proof.
eauto
using
(
empty_finite
(
C
:
=
D
)),
(
union_finite
(
C
:
=
D
)),
(
singleton_finite
(
C
:
=
D
)).
Qed
.
Global
Instance
dom_proper
`
{!
Equiv
A
}
:
Proper
((
≡
@{
M
A
})
==>
(
≡
))
(
dom
D
).
Proof
.
intros
m1
m2
EQm
.
apply
elem_of_equiv
.
intros
i
.
rewrite
!
elem_of_dom
,
EQm
.
done
.
Qed
.
(** If [D] has Leibniz equality, we can show an even stronger result. This is a
common case e.g. when having a [gmap K A] where the key [K] has Leibniz equality
(and thus also [gset K], the usual domain) but the value type [A] does not. *)
Global
Instance
dom_proper_L
`
{!
Equiv
A
,
!
LeibnizEquiv
D
}
:
Proper
((
≡
@{
M
A
})
==>
(=))
(
dom
D
)
|
0
.
Proof
.
intros
???.
unfold_leibniz
.
by
apply
dom_proper
.
Qed
.
Context
`
{!
LeibnizEquiv
D
}.
Lemma
dom_empty_L
{
A
}
:
dom
D
(@
empty
(
M
A
)
_
)
=
∅
.
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new 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