let is_possible (po : t_po) b_row atms x =
let majors = get_majors po x in
let i = ref 0 in
let possible = ref true in
while !i < (Array.length atms) && !possible do
(* if this atom is used and the atom is bigger then x, i.e. the
* atom is in the list of the majors of x, then return false *)
if b_row.(!i) = 1 && List.mem atms.(!i) majors then
possible := false
else
i := !i+1
done;
!possible