public override Sentence visitBinarySentence(ComplexSentence s, object arg)
        {
            Sentence result = null;

            if (s.isImplicationSentence())
            {
                // Eliminate =>, replacing α => β
                // with ~α | β
                Sentence alpha    = s.getSimplerSentence(0).accept(this, arg);
                Sentence beta     = s.getSimplerSentence(1).accept(this, arg);
                Sentence notAlpha = new ComplexSentence(Connective.NOT, alpha);

                result = new ComplexSentence(Connective.OR, notAlpha, beta);
            }
            else
            {
                result = base.visitBinarySentence(s, arg);
            }
            return(result);
        }