public bool TryLookupBest(Bus bus, out IAutoEvaluationTheorem <TAspect> theorem, out GroupCollection groups)
 {
     throw new NotImplementedException();
     //groups = null;
     //theorem = null;
     //return false;
 }
        protected override void InsertItem(int index, IAutoEvaluationTheorem <TAspect> item)
        {
            base.InsertItem(index, item);

            Pattern pattern = item.CreatePattern();

            pattern.MergeToCoalescedTree(item.TheoremId, _tree);
        }
 public bool TryGetValue(MathIdentifier id, out IAutoEvaluationTheorem <TAspect> theorem)
 {
     theorem = null;
     if (!Contains(id))
     {
         return(false);
     }
     theorem = base[id];
     return(true);
 }
        public bool TryLookupBest(Port port, out IAutoEvaluationTheorem <TAspect> theorem, out GroupCollection groups)
        {
            Match match;

            if (TryMatchBest(null, port, out match))
            {
                groups = match.Groups;
                if (this.TryGetValue(match.PatternId, out theorem))
                {
                    return(true);
                }
            }
            groups  = null;
            theorem = null;
            return(false);
        }
 protected override MathIdentifier GetKeyForItem(IAutoEvaluationTheorem <TAspect> item)
 {
     return(item.TheoremId);
 }