public override IAsciiBasePropositionalOperator Negate() { var or = new OrPropositionalOperator(_argumentManager); or.Instantiate(new [] { SurroundWithNot(GetChilds()[0]), SurroundWithNot(GetChilds()[1]) }); return(or); }
public override IAsciiBasePropositionalOperator ToAndOrNot() { var or = new OrPropositionalOperator(_argumentManager); or.Instantiate(GetChilds().Select(x => x.ToAndOrNot()).ToArray()); return(or); }
public override IAsciiBasePropositionalOperator ToNandify() { var or = ToAndOrNot(); var resultOr = new OrPropositionalOperator(_argumentManager); resultOr.Instantiate(new [] { or.GetChilds()[0].ToNandify(), or.GetChilds()[1].ToNandify() }); return(resultOr.ToNandify()); }