예제 #1
0
        public override Sentence VisitBinarySentence(ComplexSentence s, object arg)
        {
            Sentence result = null;

            if (s.IsImplicationSentence())
            {
                // Elimina =>, reemplazando & alpha; => &beta;< br > con ~&alpha; | &beta;
                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);
        }