예제 #1
0
        /// <summary>
        /// Initialises a new instance of the <see cref="CNFExpression{TModel}"/> class, implicitly converting the provided lambda to CNF in the process.
        /// </summary>
        /// <param name="lambda">The predicate to represent.</param>
        public CNFExpression(Expression <Predicate <TModel> > lambda)
        {
            Lambda = CNFConverter.ConvertToCNF(lambda);
            var clauses = new List <CNFClause <TModel> >();

            new ClauseBuilder(this, clauses).Visit(Lambda.Body);
            Clauses = clauses.AsReadOnly();
        }
예제 #2
0
 public CNF ConvertToCNF(ISentence aSentence)
 {
     return(cnfConverter.ConvertToCNF(aSentence));
 }