public void AddTheoremType(ITheoremProvider provider)
 {
     if (provider == null)
     {
         throw new ArgumentNullException("provider");
     }
     _theorems.Add(provider);
 }
 public bool TryLookupTheoremType(MathIdentifier theoremTypeId, out ITheoremProvider provider)
 {
     return(_theorems.TryGetValue(theoremTypeId, out provider));
 }