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
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
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
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)
Internal implementation detail of the hash map
Equations
Internal implementation detail of the hash map
Equations
Internal implementation detail of the hash map
Equations
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
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
Internal implementation detail of the hash map
Equations
- Std.DHashMap.Internal.List.getKey? a [] = none
- Std.DHashMap.Internal.List.getKey? a (⟨k, v⟩ :: l) = bif k == a then some k else Std.DHashMap.Internal.List.getKey? a l
Internal implementation detail of the hash map
Equations
Internal implementation detail of the hash map
Equations
- Std.DHashMap.Internal.List.getKeyD a l fallback = (Std.DHashMap.Internal.List.getKey? a l).getD fallback
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
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
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
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
This is a restatement of containsKey_insertEntryIfNew
that is written to exactly match the proof
obligation in the statement of getValueCast_insertEntryIfNew
.
Internal implementation detail of the hash map
Equations
- Std.DHashMap.Internal.List.Prod.toSigma p = ⟨p.fst, p.snd⟩
Internal implementation detail of the hash map
Equations
- Std.DHashMap.Internal.List.modifyKey k f l = match Std.DHashMap.Internal.List.getValueCast? k l with | none => l | some v => Std.DHashMap.Internal.List.replaceEntry k (f v) l
Internal implementation detail of the hash map
Equations
- Std.DHashMap.Internal.List.Const.modifyKey k f l = match Std.DHashMap.Internal.List.getValue? k l with | none => l | some v => Std.DHashMap.Internal.List.replaceEntry k (f v) l