public override int GetHashCode() { int result = 17; foreach (Symbol s in premiseSymbols) { result = 37 * result + s.GetHashCode(); } return result; }