make solver_describe_decision always return a rule, add solver_rule2solvable()