Literal.Makemodule Sem : Xliteral.Stype elt = Sem.tThe type of semantic elements literals.
val pp : t Fmt.tPretty-printer for literals.
val hash : t -> intHash function for literals.
Equality of literals. Note that this does not try to look into the semantic content of syntaxic literals: x = y as a term and x = y as a semantic literal (where x and y are semantic values) are distinct.
normal_form l returns the normal form of l. The normal form of l is a pair l', is_neg such that:
l' is neg l if is_neg is truel' is l if is_neg is falsenormal_form l' is l', falseval is_ground : t -> boolnormal_form l returns the normal form of l. The normal form of l is a pair l', is_neg such that:
l' is neg l if is_neg is truel' is l if is_neg is falsenormal_form l' is l', falseis_ground l is always true if l is a semantic literal, and otherwise is true iff the syntaxic literal is ground (does not contain free variables nor free type variables).