Rulecode is 1 (Status = foundational) sameproteindomain(set1//proteindomain/name) IMPLIES Initialize(proteindomain(name,GO_ID_num_molecular_function,source)) AND AddText(1//proteindomain/name, proteindomain/name) Rulecode is 2 (Status = optional) sameGO_IDnumbers(set1//proteindomain/GO_ID_num) IMPLIES AddText(1//proteindomain/GO_ID_num, proteindomain/GO_ID_num_molecular_function) AND AddText(Conjunction(set1//proteindomain/source), proteindomain/source) Rulecode is 3 (Status = optional) NOT sameGO_IDnumbers(set1//proteindomain/GO_ID_num) AND molecularfunctions(set1//proteindomain/GO_ID_num) AND usepreferredsource(set1//proteindomain/source, set1//proteindomain/GO_ID_num, X) AND preferredsource(set1//proteindomain/source, Y) IMPLIES AddText(X, proteindomain/GO_ID_num_molecular_function) AND AddText(Y, proteindomain/source) END OF RULES