Multisets of sigma types #
Alias of the reverse direction of Multiset.nodup_keys
.
Finmap #
- nodupKeys : Multiset.NodupKeys s.entries
There are no duplicate keys in
entries
Finmap β
is the type of finite maps over a multiset. It is effectively
a quotient of AList β
by permutation of the underlying list.
Instances For
Lifting from AList #
Lift a permutation-respecting function on 2 AList
s to 2 Finmap
s.
Instances For
Induction #
extensionality #
mem #
The predicate a ∈ s
means that s
has a value associated to the key a
.
keys #
empty #
The empty map.
singleton #
The singleton map.
Instances For
lookup #
Look up the value associated to a key in a map.
Instances For
replace #
Replace a key with a given value in a finite map. If the key is not present it does nothing.
Instances For
foldl #
erase #
Erase a key from the map. If the key is not present it does nothing.
Instances For
sdiff #
sdiff s s'
consists of all key-value pairs from s
and s'
where the keys are in s
or
s'
but not both.
Instances For
insert #
Insert a key-value pair into a finite map, replacing any existing pair with the same key.
Instances For
extract #
Erase a key from the map, and return the corresponding value, if found.
Instances For
union #
s₁ ∪ s₂
is the key-based union of two finite maps. It is left-biased: if
there exists an a ∈ s₁
, lookup a (s₁ ∪ s₂) = lookup a s₁
.