src/main/java/org/thegalactic/rule/ImplicationalSystem.java
public int makeMinimum() {
        this.makeRightMaximal();
        ImplicationalSystem save = new ImplicationalSystem(this);
        for (Rule rule : save.sigma) {
            ImplicationalSystem epsilon = new ImplicationalSystem(this);
            epsilon.removeRule(rule);
            if (epsilon.closure(rule.getPremise()).equals(this.closure(rule.getPremise()))) {
                this.removeRule(rule);
            }
        }
        return save.sizeRules() - this.sizeRules();
    }
/**
     * Makes this component a minimum and proper ImplicationalSystem.
     *
     * A rule is deleted when the closure of its premisse remains the same even
     * if this rule is suppressed.
     *
     * This treatment is performed in O(|sigma||S|cl) where O(cl) is the
     * computation of a closure.
     *
     * @return the difference between the number of rules of this component
     *         before and after this treatment
     */
Makes this component a minimum and proper ImplicationalSystem.
A rule is deleted when the closure of its premisse remains the same even
if this rule is suppressed.

This treatment is performed in O(|sigma||S|cl) where O(cl) is the
computation of a closure.

@return the difference between the number of rules of this component
before and after this treatment
Makes this component a minimum and proper ImplicationalSystem . A rule is deleted when the closure of its premisse remains the same even if this rule is suppressed . This treatment is performed in O ( |sigma||S|cl ) where O ( cl ) is the computation of a closure . @return the difference between the number of rules of this component before and after this treatment
public int makeMinimum() {
        this.makeRightMaximal();
        ImplicationalSystem save = new ImplicationalSystem(this);
        for (Rule rule : save.sigma) {
            ImplicationalSystem epsilon = new ImplicationalSystem(this);
            epsilon.removeRule(rule);
            if (epsilon.closure(rule.getPremise()).equals(this.closure(rule.getPremise()))) {
                this.removeRule(rule);
            }
        }
        return save.sizeRules() - this.sizeRules();
    }
public int makeMinimum ( ) { this . makeRightMaximal ( ) ; ImplicationalSystem save = new ImplicationalSystem ( this ) ; for ( Rule rule : save . sigma ) { ImplicationalSystem epsilon = new ImplicationalSystem ( this ) ; epsilon . removeRule ( rule ) ; if ( epsilon . closure ( rule . getPremise ( ) ) . equals ( this . closure ( rule . getPremise ( ) ) ) ) { this . removeRule ( rule ) ; } } return save . sizeRules ( ) - this . sizeRules ( ) ; }
Makes this component a minimum and proper ImplicationalSystem.
Makes this component a minimum and proper ImplicationalSystem .