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