+ match hecandidate,repr with
+ I, I::_ -> raise (SameEquivalenceClass (set,node,repr_node))
+ | I, _ ->
+ add_leq_arc node repr_node;
+ (nodes,remove repr_node inf@[node],sup),inf,sup
+ | C, C::_ -> raise (SameEquivalenceClass (set,node,repr_node))
+ | C, _ ->
+ add_geq_arc node repr_node;
+ (nodes,inf,remove repr_node sup@[node]),inf,sup
+ | M, M::M::_ -> raise (SameEquivalenceClass (set,node,repr_node))
+ | M, _ -> set,inf,sup