if self._prune_rule_obj(X, y, rule) &gt; self._prune_rule_obj(X, y, rule):
                curr_rule = best_prune.copy()
            else:
                stop_condition = True

        return curr_rule

    def _pop_condition(self, rule, condition):
        &#34;&#34;&#34;
        Remove a condition from an existing Rule object
        &#34;&#34;&#34;
        temp = rule.copy()
        temp.remove(condition)
        return temp

    def _make_default_rule(self, X, y):
        &#34;&#34;&#34;
        Make t