Module btree

Module btree 

Source
Expand description

This code adds specifications for the standard-library types std::collections::BTreeMap and std::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§

ExBTreeMap
Specifications for the behavior of std::collections::BTreeMap.
ExBTreeSet
Specifications for the behavior of std::collections::BTreeSet.
ExKeys
Specifications for the behavior of std::collections::btree_map::Keys.
ExMapIter
ExSetIter
ExValues
Specifications for the behavior of std::collections::btree_map::Values.
KeysGhostIterator
MapIterGhostIterator
SetIterGhostIterator
ValuesGhostIterator

Traits§

BTreeMapAdditionalSpecFns
MapIterAdditionalSpecFns

Functions§

_verus_external_fn_specification_414_Keys_32__58__58__32__60__32__39_a_44__32_Key_44__32_Value_32__62__32__58__58__32_next
_verus_external_fn_specification_415_Values_32__58__58__32__60__32__39_a_44__32_Key_44__32_Value_32__62__32__58__58__32_next
_verus_external_fn_specification_416_btree__map_32__58__58__32_Iter_32__58__58__32__60__32__39_a_44__32_K_44__32_V_32__62__32__58__58__32_next
_verus_external_fn_specification_417_BTreeMap_32__58__58__32__60__32_Key_44__32_Value_44__32_A_32__62__32__58__58__32_iter
_verus_external_fn_specification_418_BTreeMap_32__58__58__32__60__32_Key_44__32_Value_44__32_A_32__62__32__58__58__32_len
_verus_external_fn_specification_419_BTreeMap_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_420__60__32_BTreeMap_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_421_BTreeMap_32__58__58__32__60__32_Key_44__32_Value_32__62__32__58__58__32_new
_verus_external_fn_specification_422__60__32_BTreeMap_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_423_BTreeMap_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_424_BTreeMap_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_425_BTreeMap_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_426_BTreeMap_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_427_BTreeMap_32__58__58__32__60__32_Key_44__32_Value_44__32_A_32__62__32__58__58__32_clear
_verus_external_fn_specification_428_BTreeMap_32__58__58__32__60__32_Key_44__32_Value_44__32_A_32__62__32__58__58__32_keys
_verus_external_fn_specification_429_BTreeMap_32__58__58__32__60__32_Key_44__32_Value_44__32_A_32__62__32__58__58__32_values
_verus_external_fn_specification_430_btree__set_32__58__58__32_Iter_32__58__58__32__60__32__39_a_44__32_Key_32__62__32__58__58__32_next
_verus_external_fn_specification_431_BTreeSet_32__58__58__32__60__32_Key_44__32_A_32__62__32__58__58__32_len
_verus_external_fn_specification_432_BTreeSet_32__58__58__32__60__32_Key_44__32_A_32__62__32__58__58__32_is__empty
_verus_external_fn_specification_433__60__32_BTreeSet_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_434_BTreeSet_32__58__58__32__60__32_Key_32__62__32__58__58__32_new
_verus_external_fn_specification_435__60__32_BTreeSet_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_436_BTreeSet_32__58__58__32__60__32_Key_44__32_A_32__62__32__58__58__32_insert
_verus_external_fn_specification_437_BTreeSet_32__58__58__32__60__32_Key_44__32_A_44__32__62__32__58__58__32_contains
_verus_external_fn_specification_438_BTreeSet_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_439_BTreeSet_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_440_BTreeSet_32__58__58__32__60__32_Key_44__32_A_32__62__32__58__58__32_clear
_verus_external_fn_specification_441_BTreeSet_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_map_view_finite_dom
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_map_iter
axiom_spec_btree_map_len
axiom_spec_btree_set_len
borrowed_key_removed
btree_map_deep_view_impl
contains_borrowed_key
group_btree_axioms
increasing_seq
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_map_iter
spec_btree_map_len
spec_btree_set_len