src/main/java/org/thegalactic/rule/ImplicationalSystem.java
public boolean isMinimum() {
        ImplicationalSystem tmp = new ImplicationalSystem(this);
        tmp.makeRightMaximal();
        for (Rule rule : sigma) {
            ImplicationalSystem epsilon = new ImplicationalSystem(tmp);
            epsilon.removeRule(rule);
            TreeSet<Comparable> clThis = this.closure(rule.getPremise());
            TreeSet<Comparable> clEpsilon = epsilon.closure(rule.getPremise());
            if (clThis.equals(clEpsilon)) {
                return false;
            }
        }
        return true;
    }
/**
     * Returns true if this component is minimum.
     *
     * This test is perfomed in O(|Sigma|^2|S|) by testing if closure of the
     * premisse of each conclusion can be obtained by only one iteration on the
     * set of rules.
     *
     * @return true if this component is minimum.
     */
Returns true if this component is minimum.
This test is perfomed in O(|Sigma|^2|S|) by testing if closure of the
premisse of each conclusion can be obtained by only one iteration on the
set of rules.

@return true if this component is minimum.
Returns true if this component is minimum . This test is perfomed in O ( |Sigma|^2|S| ) by testing if closure of the premisse of each conclusion can be obtained by only one iteration on the set of rules . @return true if this component is minimum .
public boolean isMinimum() {
        ImplicationalSystem tmp = new ImplicationalSystem(this);
        tmp.makeRightMaximal();
        for (Rule rule : sigma) {
            ImplicationalSystem epsilon = new ImplicationalSystem(tmp);
            epsilon.removeRule(rule);
            TreeSet<Comparable> clThis = this.closure(rule.getPremise());
            TreeSet<Comparable> clEpsilon = epsilon.closure(rule.getPremise());
            if (clThis.equals(clEpsilon)) {
                return false;
            }
        }
        return true;
    }
public boolean isMinimum ( ) { ImplicationalSystem tmp = new ImplicationalSystem ( this ) ; tmp . makeRightMaximal ( ) ; for ( Rule rule : sigma ) { ImplicationalSystem epsilon = new ImplicationalSystem ( tmp ) ; epsilon . removeRule ( rule ) ; TreeSet < Comparable > clThis = this . closure ( rule . getPremise ( ) ) ; TreeSet < Comparable > clEpsilon = epsilon . closure ( rule . getPremise ( ) ) ; if ( clThis . equals ( clEpsilon ) ) { return false ; } } return true ; }
Returns true if this component is minimum.
Returns true if this component is minimum .