AIMA.Core.Logic.FOL.ImplicationsOut.visitConnectedSentence C# (CSharp) Метод

visitConnectedSentence() публичный Метод

public visitConnectedSentence ( ConnectedSentence sentence, Object arg ) : Object
sentence AIMA.Core.Logic.FOL.Parsing.AST.ConnectedSentence
arg Object
Результат Object
        public Object visitConnectedSentence(ConnectedSentence sentence, Object arg)
        {
            Sentence alpha = (Sentence)sentence.getFirst().accept(this, arg);
            Sentence beta = (Sentence)sentence.getSecond().accept(this, arg);

            // Eliminate <=>, bi-conditional elimination,
            // replace (alpha <=> beta) with (~alpha V beta) ^ (alpha V ~beta).
            if (Connectors.isBICOND(sentence.getConnector()))
            {
                Sentence first = new ConnectedSentence(Connectors.OR,
                        new NotSentence(alpha), beta);
                Sentence second = new ConnectedSentence(Connectors.OR, alpha,
                        new NotSentence(beta));

                return new ConnectedSentence(Connectors.AND, first, second);
            }

            // Eliminate =>, implication elimination,
            // replacing (alpha => beta) with (~alpha V beta)
            if (Connectors.isIMPLIES(sentence.getConnector()))
            {
                return new ConnectedSentence(Connectors.OR, new NotSentence(alpha),
                        beta);
            }

            return new ConnectedSentence(sentence.getConnector(), alpha, beta);
        }