public SemanticTableauxParser(IAsciiBasePropositionalOperator baseOperator)
        {
            var not = new NotPropositionalOperator(baseOperator.GetArgumentsManager());

            not.Instantiate(new [] { baseOperator.ToAndOrNot() });
            Step = new TableuaxStep(not);
            HandleSteps();
        }
        protected IAsciiBasePropositionalOperator SurroundWithNot(IAsciiBasePropositionalOperator baseOperator)
        {
            if (baseOperator is NotPropositionalOperator baseNot)
            {
                return(baseNot.GetChilds()[0]);
            }
            var not = new NotPropositionalOperator(_argumentManager);

            not.Instantiate(new [] { baseOperator });
            return(not);
        }
        private IAsciiBasePropositionalOperator GetOperator(byte value, char name)
        {
            switch (value)
            {
            case 0:
                IAsciiBasePropositionalOperator oper = new NotPropositionalOperator(_argumentManager);
                oper.Instantiate(new IAsciiBasePropositionalOperator[] { _argumentManager.RequestOperator(name) });
                return(oper);

            case 1:
                return(_argumentManager.RequestOperator(name));
            }
            return(null);
        }