max_weight, variable_weight, constant_weight, not_weight, or_weight, sk_constant_weight, prop_atom_weight, nest_penalty, depth_penalty, var_penalty, default_weight, complexity.Floating-point values must be enclosed in double quotes, for example,
assign(max_weight, "13.5").Weighting rules accept floating-point values (as well as integers), for example,
list(weights). weight(a) = "3.2". weight(f(a,x)) = "5.6" * weight(x). weight(f(a,_)) = "-1.1". end_of_list.
0 ≤ complexity(C) < 1.Lower values mean more complex (better??).
Usage:
assign(complexity, n). % default 0means that n * complexity(C) is added to the weight of each clause C.
Equational rules: rewrite terms.
alpha = beta. % unconditional condition -> alpha = beta. alpha = beta <- condition.
Equivalence rules: rewrite atomic formulas.
alpha <-> beta. % unconditional condition -> (alpha <-> beta). (alpha <-> beta) <- condition.The Prover9 manual lists the evaluable operations that can be used with eval_rewrite.
set(production). % set(production) -> set(raw). % set(produtcion) -> set(hyper_resolution). % set(produtcion) -> set(eval_rewrite). % set(produtcion) -> clear(back_subsume).Antecedents in production rules are either resolvable or evaluable. An evaluable antecedent is either built-in or defined (by an equivalence rule).
See the examples in the Prover9 manual.
See the examples in the Prover9 manual.