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