def is_trivial_scc(scc, dependency_graph):
    """
    A given scc is called trivial if it only contains a single rule and there is no
    self-loop on that rule in the dependency graph - such scc evaluation requires no iteration
    """
    if len(scc) == 1:
        rule_index = scc[0]
        dependent_rules = dependency_graph[rule_index]
        for dependent_rule_index in dependent_rules:
            if dependent_rule_index == rule_index:
                return False
        return True

    return False