sig
  type form = TypedSTerm.t
  type term = TypedSTerm.t
  exception NotALit of SLiteral.form
  type 't t =
      True
    | False
    | Atom of 't * bool
    | Eq of 't * 't
    | Neq of 't * 't
  type 'a lit = 'SLiteral.t
  val of_form : SLiteral.form -> SLiteral.term SLiteral.t
  val to_form : SLiteral.term SLiteral.t -> SLiteral.form
  val map : f:('-> 'b) -> 'SLiteral.t -> 'SLiteral.t
  val fold : ('-> '-> 'a) -> '-> 'SLiteral.t -> 'a
  val iter : f:('-> unit) -> 'SLiteral.t -> unit
  val to_seq : 'SLiteral.t -> 'Sequence.t
  val equal : ('-> '-> bool) -> 'SLiteral.t -> 'SLiteral.t -> bool
  val true_ : 'SLiteral.t
  val false_ : 'SLiteral.t
  val eq : '-> '-> 'SLiteral.t
  val neq : '-> '-> 'SLiteral.t
  val atom : '-> bool -> 'SLiteral.t
  val is_true : 'SLiteral.t -> bool
  val is_false : 'SLiteral.t -> bool
  val sign : 'SLiteral.t -> bool
  val is_pos : 'SLiteral.t -> bool
  val is_neg : 'SLiteral.t -> bool
  val negate : 'SLiteral.t -> 'SLiteral.t
  val pp : 'CCFormat.printer -> 'a t CCFormat.printer
  val to_string : 'CCFormat.printer -> 'a t -> string
  module TPTP :
    sig
      val pp : 'CCFormat.printer -> 'a t CCFormat.printer
      val to_string : 'CCFormat.printer -> 'a t -> string
    end
  module ZF :
    sig
      val pp : 'CCFormat.printer -> 'a t CCFormat.printer
      val to_string : 'CCFormat.printer -> 'a t -> string
    end
end