CongruenceClosure.MRMapMinimal representatives map. It maps each representative term of an equivalence class to the minimal term of this representative class. rep -> (t, z) means that t = rep + z
val hash : t -> intval empty : 'a TMap.tval update_min_repr :
(((Goblint_lib__UnionFind.term * Z.t) * 'a) TUF.ValMap.t * TSet.t * LMap.t) ->
(term * Z.t) TMap.t ->
TUF.ValMap.key list ->
(term * Z.t) TMap.tUses dijkstra algorithm to update the minimal representatives of the successor nodes of all edges in the queue and if necessary it recursively updates the minimal representatives of the successor nodes. The states in the queue must already have an updated min_repr. This function visits only the successor nodes of the nodes in queue, not the nodes themselves. Before visiting the nodes, it sorts the queue by the size of the current mininmal representative.
parameters:
Returns:
val compute_minimal_representatives :
(((Goblint_lib__UnionFind.term * Z.t) * 'a) TUF.ValMap.t * TSet.t * LMap.t) ->
(term * Z.t) TMap.t