1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950(* This file is free software, part of Zipperposition. See file "license" for more details. *)moduletypeS=sigtypettypepayload(** Additional data carried in the literal *)valcompare:t->t->intvalequal:t->t->boolvalhash:t->intvaldummy:t(** Value that should not be used *)valneg:t->t(** Negate the boolean literal *)valsign:t->bool(** Current sign of the literal (positive or negative) *)valabs:t->t(** Literal without its sign *)valnorm:t->t*bool(** [norm l = abs l, not (sign l)] *)valset_sign:bool->t->t(** Set the sign of the literal to the given boolean *)valapply_sign:bool->t->t(** [apply_sign s lit] is [lit] if [s], [neg lit] otherwise *)valmake:payload->t(** Make a fresh literal with the given payload *)valpayload:t->payload(** Obtain the payload *)valto_int:t->intvalfresh_id:unit->int(** Make a fresh ID. Use with care. *)valpp:tCCFormat.printermoduleSet:CCSet.Swithtypeelt=tmoduleTbl:CCHashtbl.Swithtypekey=tend