diff --git a/lib/copoint/imperativeCCNP.ml b/lib/copoint/imperativeCCNP.ml index 0a7ce9a053b36b3245154b14bb6dad452aeaab6b..9759777f5deeb4305932414c299cb8f1ef4b7854 100644 --- a/lib/copoint/imperativeCCNP.ml +++ b/lib/copoint/imperativeCCNP.ml @@ -160,6 +160,8 @@ let find_compatible_order (type elt) diss = let module D = struct type t = elt let d = diss.d end in let module M = Make(D) in try - Some (M.find_compatible_order (Array.of_list diss.elements)) + let order = M.find_compatible_order (Array.of_list diss.elements) in + if Dissimilarity.is_compatible_order diss (Array.to_list order) then Some order + else None with | M.Not_Robinson -> None diff --git a/lib/copoint/robinsonCCNP.ml b/lib/copoint/robinsonCCNP.ml index e879adff42441710089da7c9f325ce895a10f328..a4b220251dc286fd4313e9b74210c9ea35285ffe 100644 --- a/lib/copoint/robinsonCCNP.ml +++ b/lib/copoint/robinsonCCNP.ml @@ -175,6 +175,8 @@ let find_compatible_order (type elt) diss = in let module M = Make(D) in try - Some (M.find_compatible_order diss.elements) + let order = M.find_compatible_order diss.elements in + if Dissimilarity.is_compatible_order diss order then Some order + else None with | M.Not_Robinson -> None