def _fired_rules(instance, rule_list, threshold=0.001):
    """Returns the rules fired by the instance given a threshold

    Parameters
    ----------
    instance : dict, {feature: {set_1: pert_1, set_2: pert_2, ...}, ...}
        Fuzzy representation of the instance with all the features and pertenence
        degrees to each fuzzy set
    rule_list : list(Rule)
        List of candidate rules to form part of the factual
    threshold : float, optional
        Activation threshold with which a rule is
        considered to be fired by the instance, by default 0.01

    Returns
    -------
    list(Rule)
        List of fired rules
    """
    return [rule for rule in rule_list if rule.matching(instance) > threshold]