void AddCriterion(IVariable variable, ITypeCriterion criterion)
 {
     if (!TypeCriteria.ContainsKey(variable))
     {
         TypeCriteria[variable] = new List <ITypeCriterion>();
     }
     TypeCriteria[variable].Add(criterion);
 }
 public ITypeCriterion GetCriterion(IVariable variable)
 {
     if (!TypeCriteria.ContainsKey(variable))
     {
         return(new ConjunctionCriteria(new List <ITypeCriterion>()));
     }
     return(new ConjunctionCriteria(TypeCriteria[variable]));
 }