let create ?(equality: bool = false) ?(horn: bool = true)
    (clauseSet: clause list) (initialInterpretation: literal list) =
  (new i_problem ~equality:equality ~horn:horn clauseSet initialInterpretation :> problem)