pub fn rule<T: AsRef<Term>>( head_name: &str, head_terms: &[T], predicates: &[Predicate], ) -> Rule
creates a rule