public override Automaton <BDD> Optimize() { if (not != null) { return(not); } if (!Expr.CanBeOptimized()) { throw new AutomataException(AutomataExceptionKind.AutomataConversionFailed); } not = Expr.Optimize().Complement(); return(not); }
/// <summary> /// Returns true if Expr can be optimized /// </summary> /// <returns></returns> public override bool CanBeOptimized() { return(Expr.CanBeOptimized()); }