public override IAsciiBasePropositionalOperator Negate()
        {
            var and = new AndPropositionalOperator(_argumentManager);

            and.Instantiate(GetChilds());
            return(and);
        }
        public override IAsciiBasePropositionalOperator ToAndOrNot()
        {
            var and = new AndPropositionalOperator(_argumentManager);

            and.Instantiate(GetChilds().Select(x => x.ToAndOrNot()).ToArray());
            return(and);
        }
Пример #3
0
        public override IAsciiBasePropositionalOperator Negate()
        {
            var and = new AndPropositionalOperator(_argumentManager);

            and.Instantiate(new [] { SurroundWithNot(GetChilds()[0]), SurroundWithNot(GetChilds()[1]) });
            return(and);
        }
Пример #4
0
        public override IAsciiBasePropositionalOperator ToAndOrNot()
        {
            var impl1 = new IfThenPropositionalOperator(_argumentManager);

            impl1.Instantiate(GetChilds().Select(x => x.ToAndOrNot()).ToArray());

            var impl2 = new IfThenPropositionalOperator(_argumentManager);

            impl2.Instantiate(GetChilds().Select(x => x.ToAndOrNot()).Reverse().ToArray());


            var and = new AndPropositionalOperator(_argumentManager);

            and.Instantiate(new [] { impl1.ToAndOrNot(), impl2.ToAndOrNot() });

            return(and);
        }