lean4-htt/src/Std/Data/DHashMap/Internal
Rob23oba e77b528ef5
perf: reduce elaboration time and proof size of tree map internals (#7459)
There are several things done here:
1. Use the modified `simp_to_model` which already exists in hash maps.
This version of `simp_to_model` allows specifying the query operations
to use in addition to the modifying operations. This is mostly to
improve elaboration time and actually increases olean size.
2. Instead of proving `toListModel_balance` directly, we write
`toListModel_balanceₘ` and use that instead (this saves ~3 MB).
3. Use `fun_cases` and `dsimp` instead of `rw [x.eq_def]` more
frequently in `Balancing.olean` (this saves a bit over 2 MB).
4. Mark `updateCell` and other functions dependent on it as
`noncomputable`. The main problem with `updateCell` is how other
functions, in particular `glue`, get recursively inlined, which blows
the size of the IR (this saves ~1 MB).
5. Instead of using `simp_to_model` to prove results on `insert!`,
`erase!`, etc., `simpa`s are used now, e.g. `simpa only
[insert_eq_insert!] using isEmpty_insert h`. This mainly improves
elaboration time although the olean size also goes down by ~0.3 MB.
2025-03-17 10:05:49 +00:00
..
AssocList fix: add @[specialize] annotations to helpers used in alter and modify of the hash map (#7245) 2025-02-27 15:43:05 +00:00
Defs.lean chore: rename HashMap.empty to HashMap.emptyWithCapacity (#7447) 2025-03-12 23:01:18 +00:00
HashesTo.lean feat: tree map data structures and operations (#6914) 2025-02-11 14:47:47 +00:00
Index.lean feat: finite type conversions (Nat/Int/Fin/BitVec -> UIntX -> *) (#7340) 2025-03-05 15:35:36 +00:00
Model.lean feat: align lemmas about List.getLast(!?) with Array/Vector.back(!?) (#7205) 2025-02-24 11:48:43 +00:00
Raw.lean chore: rename HashMap.empty to HashMap.emptyWithCapacity (#7447) 2025-03-12 23:01:18 +00:00
RawLemmas.lean perf: reduce elaboration time and proof size of tree map internals (#7459) 2025-03-17 10:05:49 +00:00
WF.lean chore: rename HashMap.empty to HashMap.emptyWithCapacity (#7447) 2025-03-12 23:01:18 +00:00