let check_adaptability_sol adaptability_sol adaptability_cstrs =
let rec subst e sol =
match e with
| Var c ->
begin try Pbw (Word_var_map.find c sol)
with Not_found -> assert false
end
| Pbw p -> Pbw p
| On (e1, e2) -> On (subst e1 sol, subst e2 sol)
in
let adaptability_cstrs =
List.map
(fun (Adaptability (e1, e2)) ->
Adaptability (subst e1 adaptability_sol, subst e2 adaptability_sol))
adaptability_cstrs
in
let simplified_adaptability_cstrs =
simplified_adaptability_cstrs_of_adaptability_cstrs adaptability_cstrs
in
simplified_adaptability_cstrs = []