module Term_attributes:computation and comparison of term attributessig..end
typeterm =Term.term
typeliteral =Term.literal
typeclause =Term.clause
typesubst =Subst.subst
type pureness
val get_pureness : term -> purenessval is_universal : pureness -> boolval is_mixed : pureness -> boolval is_parametric : pureness -> boolval is_term_parametric : term -> bool
val is_propositional : literal -> boolval cmp_pureness : pureness -> pureness -> intcmp_pureness_universality pureness1 pureness2 returnsval cmp_universality : pureness -> pureness -> intcmp_pureness_universality pureness1 pureness2
returns -1, 0, or 1 and prefers
first, terms with as few parameters as possible,
and second, terms with as much universal variables as possible.val depth_of_literal : literal -> intExamples:
val depth_of_term : term -> intval depth_of_literal_subst : literal -> subst -> int -> intdepth_of_literal_subst subst literal offset
is like Term_attributes.depth_of_literal,
but variables in literal are replaced by their bindings
in substval weight_of_literal : literal -> intExamples:
val weight_of_literal_subst : literal -> subst -> int -> intweight_of_literal_subst subst literal offset
is like Term_attributes.weight_of_literal,
but variables in literal are replaced by their bindings
in substval weight_of_clause : clause -> int