let is_definit (clause: literal list) : bool =
let rec is_definit' (clause: literal list) (pos_count: bool) : bool =
match clause with
| [] ->
pos_count
| literal :: tail ->
if literal.sign then begin
if pos_count then
false
else
is_definit' tail true
end
else
is_definit' tail pos_count
in
is_definit' clause false