pub fn constrained_rule<T: AsRef<Term>, P: AsRef<Predicate>, E: AsRef<Expression>>( head_name: &str, head_terms: &[T], predicates: &[P], expressions: &[E], ) -> Rule
creates a rule with constraints