Expand description
This code adds specifications for the standard-library types
alloc::collections::BTreeMap and alloc::collections::BTreeSet.
The specification is only meaningful when the Key obeys our Ord model,
as specified by super::super::laws_cmp::obeys_cmp_spec.
By default, the Verus standard library brings useful axioms
about the behavior of BTreeMap and BTreeSet into the ambient
reasoning context by broadcasting the group
vstd::std_specs::btree::group_btree_axioms.
Structs§
- ExBTree
Map - Specifications for the behavior of
alloc::collections::BTreeMap. - ExBTree
Set - Specifications for the behavior of
alloc::collections::BTreeSet. - ExKeys
- Specifications for the behavior of
alloc::collections::btree_map::Keys. - ExMap
Iter - ExSet
Iter - ExValues
- Specifications for the behavior of
alloc::collections::btree_map::Values.
Traits§
Functions§
- _verus_
external_ ⚠fn_ specification_ 658_ BTree Map_ 32__ 58__ 58__ 32__ 60__ 32_ Key_ 44__ 32_ Value_ 44__ 32_ A_ 32__ 62__ 32__ 58__ 58__ 32_ iter - _verus_
external_ ⚠fn_ specification_ 659_ BTree Map_ 32__ 58__ 58__ 32__ 60__ 32_ Key_ 44__ 32_ Value_ 44__ 32_ A_ 32__ 62__ 32__ 58__ 58__ 32_ len - _verus_
external_ ⚠fn_ specification_ 660_ BTree Map_ 32__ 58__ 58__ 32__ 60__ 32_ Key_ 44__ 32_ Value_ 44__ 32_ A_ 32__ 62__ 32__ 58__ 58__ 32_ is__ empty - _verus_
external_ ⚠fn_ specification_ 661__ 60__ 32_ BTree Map_ 32__ 58__ 58__ 32__ 60__ 32_ K_ 44__ 32_ V_ 44__ 32_ A_ 44__ 32__ 62__ 32_ as_ 32_ Clone_ 32__ 62__ 32__ 58__ 58__ 32_ clone - _verus_
external_ ⚠fn_ specification_ 662_ BTree Map_ 32__ 58__ 58__ 32__ 60__ 32_ Key_ 44__ 32_ Value_ 32__ 62__ 32__ 58__ 58__ 32_ new - _verus_
external_ ⚠fn_ specification_ 663__ 60__ 32_ BTree Map_ 32__ 60__ 32_ K_ 44__ 32_ V_ 32__ 62__ 32_ as_ 32_ core_ 32__ 58__ 58__ 32_ default_ 32__ 58__ 58__ 32_ Default_ 32__ 62__ 32__ 58__ 58__ 32_ default - _verus_
external_ ⚠fn_ specification_ 664_ BTree Map_ 32__ 58__ 58__ 32__ 60__ 32_ Key_ 44__ 32_ Value_ 44__ 32_ A_ 44__ 32__ 62__ 32__ 58__ 58__ 32_ insert - _verus_
external_ ⚠fn_ specification_ 665_ BTree Map_ 32__ 58__ 58__ 32__ 60__ 32_ Key_ 44__ 32_ Value_ 44__ 32_ A_ 32__ 62__ 32__ 58__ 58__ 32_ contains__ key_ 32__ 58__ 58__ 32__ 60__ 32_ Q_ 32__ 62_ - _verus_
external_ ⚠fn_ specification_ 666_ BTree Map_ 32__ 58__ 58__ 32__ 60__ 32_ Key_ 44__ 32_ Value_ 44__ 32_ A_ 32__ 62__ 32__ 58__ 58__ 32_ get_ 32__ 58__ 58__ 32__ 60__ 32_ Q_ 32__ 62_ - _verus_
external_ ⚠fn_ specification_ 667_ BTree Map_ 32__ 58__ 58__ 32__ 60__ 32_ Key_ 44__ 32_ Value_ 44__ 32_ A_ 32__ 62__ 32__ 58__ 58__ 32_ remove_ 32__ 58__ 58__ 32__ 60__ 32_ Q_ 32__ 62_ - _verus_
external_ ⚠fn_ specification_ 668_ BTree Map_ 32__ 58__ 58__ 32__ 60__ 32_ Key_ 44__ 32_ Value_ 44__ 32_ A_ 32__ 62__ 32__ 58__ 58__ 32_ clear - _verus_
external_ ⚠fn_ specification_ 669_ BTree Map_ 32__ 58__ 58__ 32__ 60__ 32_ Key_ 44__ 32_ Value_ 44__ 32_ A_ 32__ 62__ 32__ 58__ 58__ 32_ keys - _verus_
external_ ⚠fn_ specification_ 670_ BTree Map_ 32__ 58__ 58__ 32__ 60__ 32_ Key_ 44__ 32_ Value_ 44__ 32_ A_ 32__ 62__ 32__ 58__ 58__ 32_ values - _verus_
external_ ⚠fn_ specification_ 671_ BTree Set_ 32__ 58__ 58__ 32__ 60__ 32_ Key_ 44__ 32_ A_ 32__ 62__ 32__ 58__ 58__ 32_ len - _verus_
external_ ⚠fn_ specification_ 672_ BTree Set_ 32__ 58__ 58__ 32__ 60__ 32_ Key_ 44__ 32_ A_ 32__ 62__ 32__ 58__ 58__ 32_ is__ empty - _verus_
external_ ⚠fn_ specification_ 673__ 60__ 32_ BTree Set_ 32__ 58__ 58__ 32__ 60__ 32_ K_ 44__ 32_ A_ 32__ 62__ 32_ as_ 32_ Clone_ 32__ 62__ 32__ 58__ 58__ 32_ clone - _verus_
external_ ⚠fn_ specification_ 674_ BTree Set_ 32__ 58__ 58__ 32__ 60__ 32_ Key_ 32__ 62__ 32__ 58__ 58__ 32_ new - _verus_
external_ ⚠fn_ specification_ 675__ 60__ 32_ BTree Set_ 32__ 60__ 32_ T_ 32__ 62__ 32_ as_ 32_ core_ 32__ 58__ 58__ 32_ default_ 32__ 58__ 58__ 32_ Default_ 32__ 62__ 32__ 58__ 58__ 32_ default - _verus_
external_ ⚠fn_ specification_ 676_ BTree Set_ 32__ 58__ 58__ 32__ 60__ 32_ Key_ 44__ 32_ A_ 32__ 62__ 32__ 58__ 58__ 32_ insert - _verus_
external_ ⚠fn_ specification_ 677_ BTree Set_ 32__ 58__ 58__ 32__ 60__ 32_ Key_ 44__ 32_ A_ 44__ 32__ 62__ 32__ 58__ 58__ 32_ contains - _verus_
external_ ⚠fn_ specification_ 678_ BTree Set_ 32__ 58__ 58__ 32__ 60__ 32_ Key_ 44__ 32_ A_ 32__ 62__ 32__ 58__ 58__ 32_ get_ 32__ 58__ 58__ 32__ 60__ 32_ Q_ 32__ 62_ - _verus_
external_ ⚠fn_ specification_ 679_ BTree Set_ 32__ 58__ 58__ 32__ 60__ 32_ Key_ 44__ 32_ A_ 44__ 32__ 62__ 32__ 58__ 58__ 32_ remove_ 32__ 58__ 58__ 32__ 60__ 32_ Q_ 32__ 62_ - _verus_
external_ ⚠fn_ specification_ 680_ BTree Set_ 32__ 58__ 58__ 32__ 60__ 32_ Key_ 44__ 32_ A_ 32__ 62__ 32__ 58__ 58__ 32_ clear - _verus_
external_ ⚠fn_ specification_ 681_ BTree Set_ 32__ 58__ 58__ 32__ 60__ 32_ Key_ 44__ 32_ A_ 32__ 62__ 32__ 58__ 58__ 32_ iter - axiom_
box_ key_ removed - axiom_
btree_ map_ decreases - axiom_
btree_ map_ deepview_ borrow - axiom_
btree_ set_ decreases - axiom_
contains_ box - axiom_
contains_ deref_ key - axiom_
deref_ key_ removed - axiom_
increasing_ seq_ meaning - axiom_
key_ obeys_ cmp_ spec_ meaning - axiom_
maps_ box_ key_ to_ value - axiom_
maps_ deref_ key_ to_ value - axiom_
set_ box_ key_ removed - axiom_
set_ box_ key_ to_ value - axiom_
set_ contains_ box - axiom_
set_ contains_ deref_ key - axiom_
set_ deref_ key_ removed - axiom_
set_ deref_ key_ to_ value - axiom_
spec_ btree_ keys_ iter - axiom_
spec_ btree_ map_ iter - axiom_
spec_ btree_ map_ len - axiom_
spec_ btree_ set_ len - axiom_
spec_ keys_ iter - axiom_
spec_ values_ iter - borrowed_
key_ removed - btree_
map_ deep_ view_ impl - contains_
borrowed_ key - group_
btree_ axioms - increasing_
seq - into_
iter - into_
iter_ btree_ keys - into_
iter_ keys - into_
iter_ values - key_
obeys_ cmp_ spec - lemma_
btree_ map_ deepview_ dom - lemma_
btree_ map_ deepview_ properties - lemma_
btree_ map_ deepview_ values - maps_
borrowed_ key_ to_ value - set_
contains_ borrowed_ key - sets_
borrowed_ key_ to_ key - sets_
differ_ by_ borrowed_ key - spec_
btree_ keys_ iter - spec_
btree_ map_ iter - spec_
btree_ map_ len - spec_
btree_ set_ len - spec_
keys_ iter - spec_
values_ iter