This is an internal implementation file of the hash map. Users of the hash map should not rely on the contents of this file.
File contents: Verification of associative lists
Internal implementation detail of the hash map
Equations
- Std.DHashMap.Internal.List.getEntry? a [] = none
- Std.DHashMap.Internal.List.getEntry? a (⟨k, v⟩ :: l) = bif k == a then some ⟨k, v⟩ else Std.DHashMap.Internal.List.getEntry? a l
Instances For
Internal implementation detail of the hash map
Equations
- Std.DHashMap.Internal.List.getValue? a [] = none
- Std.DHashMap.Internal.List.getValue? a (⟨k, v⟩ :: l) = bif k == a then some v else Std.DHashMap.Internal.List.getValue? a l
Instances For
Internal implementation detail of the hash map
Equations
- Std.DHashMap.Internal.List.getValueCast? a [] = none
- Std.DHashMap.Internal.List.getValueCast? a (⟨k, v⟩ :: l) = if h : (k == a) = true then some (cast ⋯ v) else Std.DHashMap.Internal.List.getValueCast? a l
Instances For
Internal implementation detail of the hash map
Equations
- Std.DHashMap.Internal.List.containsKey a [] = false
- Std.DHashMap.Internal.List.containsKey a (⟨k, v⟩ :: l) = (k == a || Std.DHashMap.Internal.List.containsKey a l)
Instances For
Internal implementation detail of the hash map
Equations
- Std.DHashMap.Internal.List.getEntry a l h = (Std.DHashMap.Internal.List.getEntry? a l).get ⋯
Instances For
Internal implementation detail of the hash map
Equations
- Std.DHashMap.Internal.List.getValue a l h = (Std.DHashMap.Internal.List.getValue? a l).get ⋯
Instances For
Internal implementation detail of the hash map
Equations
- Std.DHashMap.Internal.List.getValueCast a l h = (Std.DHashMap.Internal.List.getValueCast? a l).get ⋯
Instances For
Internal implementation detail of the hash map
Equations
- Std.DHashMap.Internal.List.getValueCastD a l fallback = (Std.DHashMap.Internal.List.getValueCast? a l).getD fallback
Instances For
Internal implementation detail of the hash map
Equations
- Std.DHashMap.Internal.List.getValueD a l fallback = (Std.DHashMap.Internal.List.getValue? a l).getD fallback
Instances For
Internal implementation detail of the hash map
Equations
- Std.DHashMap.Internal.List.replaceEntry k v [] = []
- Std.DHashMap.Internal.List.replaceEntry k v (⟨k_1, v_1⟩ :: l) = bif k_1 == k then ⟨k, v⟩ :: l else ⟨k_1, v_1⟩ :: Std.DHashMap.Internal.List.replaceEntry k v l
Instances For
Internal implementation detail of the hash map
Equations
- Std.DHashMap.Internal.List.eraseKey k [] = []
- Std.DHashMap.Internal.List.eraseKey k (⟨k_1, v⟩ :: l) = bif k_1 == k then l else ⟨k_1, v⟩ :: Std.DHashMap.Internal.List.eraseKey k l
Instances For
Internal implementation detail of the hash map
Equations
- Std.DHashMap.Internal.List.insertEntry k v l = bif Std.DHashMap.Internal.List.containsKey k l then Std.DHashMap.Internal.List.replaceEntry k v l else ⟨k, v⟩ :: l
Instances For
Internal implementation detail of the hash map
Equations
- Std.DHashMap.Internal.List.insertEntryIfNew k v l = bif Std.DHashMap.Internal.List.containsKey k l then l else ⟨k, v⟩ :: l
Instances For
This is a restatement of containsKey_insertEntryIfNew
that is written to exactly match the proof
obligation in the statement of getValueCast_insertEntryIfNew
.