Skip to main content

Module btree

Module btree 

Source
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§

CursorMutModel
The abstract state of a mutable B-tree cursor.
ExBTreeMap
Specifications for the behavior of alloc::collections::BTreeMap.
ExBTreeSet
Specifications for the behavior of alloc::collections::BTreeSet.
ExCursorMut
Verus declaration for Rust’s mutable B-tree cursor type.
ExKeys
Specifications for the behavior of alloc::collections::btree_map::Keys.
ExMapIter
ExSetIter
ExUnorderedKeyError
Verus declaration for the error returned when a cursor insertion would break key ordering.
ExValues
Specifications for the behavior of alloc::collections::btree_map::Values.

Traits§

BTreeMapAdditionalSpecFns
CursorMutSpecFns
Abstract and prophetic state for mutable B-tree cursors.

Functions§

_verus_external_fn_specification_713_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_714_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_715_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_716__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_717_BTreeMap_32__58__58__32__60__32_Key_44__32_Value_32__62__32__58__58__32_new⚠
_verus_external_fn_specification_718__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_719_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_720_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_721_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_722_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_723_BTreeMap_32__58__58__32__60__32_Key_44__32_Value_44__32_A_32__62__32__58__58__32_get__mut_32__58__58__32__60__32_Q_32__62_⚠
_verus_external_fn_specification_724_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_725_BTreeMap_32__58__58__32__60__32_Key_44__32_Value_44__32_A_32__62__32__58__58__32_lower__bound__mut_32__58__58__32__60__32_Q_32__62_⚠
_verus_external_fn_specification_726_BTreeMap_32__58__58__32__60__32_Key_44__32_Value_44__32_A_32__62__32__58__58__32_upper__bound__mut_32__58__58__32__60__32_Q_32__62_⚠
_verus_external_fn_specification_727_CursorMut_32__58__58__32__60__32__39_a_44__32_Key_44__32_Value_44__32_A_32__62__32__58__58__32_next⚠
_verus_external_fn_specification_728_CursorMut_32__58__58__32__60__32__39_a_44__32_Key_44__32_Value_44__32_A_32__62__32__58__58__32_prev⚠
_verus_external_fn_specification_729_CursorMut_32__58__58__32__60__32__39_a_44__32_Key_44__32_Value_44__32_A_32__62__32__58__58__32_peek__prev⚠
_verus_external_fn_specification_730_CursorMut_32__58__58__32__60__32__39_a_44__32_Key_44__32_Value_44__32_A_32__62__32__58__58__32_peek__next⚠
_verus_external_fn_specification_731_CursorMut_32__58__58__32__60__32__39_a_44__32_Key_44__32_Value_44__32_A_44__32__62__32__58__58__32_insert__after⚠
_verus_external_fn_specification_732_CursorMut_32__58__58__32__60__32__39_a_44__32_Key_44__32_Value_44__32_A_44__32__62__32__58__58__32_remove__next⚠
_verus_external_fn_specification_733_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_734_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_735_BTreeSet_32__58__58__32__60__32_Key_44__32_A_32__62__32__58__58__32_len⚠
_verus_external_fn_specification_736_BTreeSet_32__58__58__32__60__32_Key_44__32_A_32__62__32__58__58__32_is__empty⚠
_verus_external_fn_specification_737__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_738_BTreeSet_32__58__58__32__60__32_Key_32__62__32__58__58__32_new⚠
_verus_external_fn_specification_739__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_740_BTreeSet_32__58__58__32__60__32_Key_44__32_A_32__62__32__58__58__32_insert⚠
_verus_external_fn_specification_741_BTreeSet_32__58__58__32__60__32_Key_44__32_A_44__32__62__32__58__58__32_contains⚠
_verus_external_fn_specification_742_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_743_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_744_BTreeSet_32__58__58__32__60__32_Key_44__32_A_32__62__32__58__58__32_clear⚠
_verus_external_fn_specification_745_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_set_decreases
axiom_contains_box
axiom_contains_deref_key
axiom_deref_key_cmp
axiom_deref_key_ordering_matches
axiom_deref_key_removed
axiom_has_resolved_cursor
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_len
axiom_spec_btree_set_len
before_lower_bound
before_upper_bound
borrowed_key_cmp
borrowed_key_mutated
borrowed_key_ordering_matches
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_fits_at_position
key_obeys_cmp_spec
lemma_borrowed_key_mutated_deref
lemma_btree_map_deepview_dom
lemma_btree_map_deepview_properties
lemma_btree_map_deepview_values
maps_borrowed_key_to_value
positioned_at_lower_bound
positioned_at_upper_bound
set_contains_borrowed_key
sets_borrowed_key_to_key
sets_differ_by_borrowed_key
spec_btree_map_len
spec_btree_set_len