This starts to make use of the new ghost_map internally by porting proph_map and gen_heap to it. I'd say this is working rather well. :)
This is also a good opportunity to ensure that the API surface of ghost_map is consistent with gen_heap. To ensure that is the case, and for general convenience, I did some ghost_map changes:
- Rename ghost_map_elem_elem_frac_ne → ghost_map_elem_frac_ne,
ghost_map_elem_elem_ne → ghost_map_elem_ne. (The gen_heap lemmas did not duplicate the
mapstoeither, so this seems more consistent.)
- Make ghost_map_elem_persist work for arbitrary
- Add ghost_map_insert_persist.