Rulecode is 1 (Status = foundational) acceptedsource(set1//weatherreport/source) AND samedate(set1//weatherreport/date) AND samecity(set1//weatherreport/city) IMPLIES Initialize(weatherreport(source,date,city,today,temp(max,min))) AND AddText(Conjunction(set1//weatherreport/source), weatherreport/source) AND AddText(1//weatherreport/date, weatherreport/date) AND AddText(1//weatherreport/city, weatherreport/city) Rulecode is 2 (Status = optional) equivalentterms(set1//weatherreport/today) AND preferredterm(set1//weatherreport/today, X) IMPLIES AddText(X, weatherreport/today) Rulecode is 3 (Status = optional) notequivalentterms(set1//weatherreport/today) AND usepreferredsource(set1//weatherreport/source, set1//weatherreport/today, X) IMPLIES AddText(X, weatherreport/today) Rulecode is 4 (Status = optional) similartemps(set1//weatherreport/temp/max, X) IMPLIES AddText(X, weatherreport/temp/max) Rulecode is 5 (Status = optional) notsimilartemps(set1//weatherreport/temp/max) AND usepreferredsource(set1//weatherreport/source, set1//weatherreport/temp/max, X) IMPLIES AddText(X, weatherreport/temp/max) Rulecode is 6 (Status = optional) similartemps(set1//weatherreport/temp/min, X) IMPLIES AddText(X, weatherreport/temp/min) Rulecode is 7 (Status = optional) notsimilartemps(set1//weatherreport/temp/min) AND usepreferredsource(set1//weatherreport/source, set1//weatherreport/temp/min, X) IMPLIES AddText(X, weatherreport/temp/min) Rulecode is 8 (Status = optional) similarwindspeeds(set1//weatherreport/windspeed, X) IMPLIES AddAtomicTree(X, windspeed, weatherreport) Rulecode is 9 (Status = optional) notsimilarwindspeeds(set1//weatherreport/windspeed) AND usepreferredsource(set1//weatherreport/source, set1//weatherreport/windspeed, X) IMPLIES AddAtomicTree(X, windspeed, weatherreport) Rulecode is 10 (Status = optional) similarhumidities(set1//weatherreport/relativehumidity, X) IMPLIES AddAtomicTree(X, relativehumidity, weatherreport) Rulecode is 11 (Status = optional) notsimilarhumidities(set1//weatherreport/relativehumidity) AND usepreferredsource(set1//weatherreport/source, set1//weatherreport/relativehumidity, X) IMPLIES AddAtomicTree(X, relativehumidity, weatherreport) Rulecode is 12 (Status = optional) converttwelvehr(set1//weatherreport/daylighthours/sunrise, X) AND similardaylighthours(X) IMPLIES AddNode(daylighthours, weatherreport) AND AddAtomicTree(Interval(X), sunrise, weatherreport/daylighthours) Rulecode is 13 (Status = optional) converttwelvehr(set1//weatherreport/daylighthours/sunrise, X) AND notsimilardaylighthours(X) AND usepreferredsource(set1//weatherreport/source, set1//weatherreport/daylighthours/sunrise, Y) AND checktwelvehrclock(Y, Z) IMPLIES AddNode(daylighthours, weatherreport) AND AddAtomicTree(Z, sunrise, weatherreport/daylighthours) Rulecode is 14 (Status = optional) converttwelvehr(set1//weatherreport/daylighthours/sunset, X) AND similardaylighthours(X) IMPLIES AddAtomicTree(Interval(X), sunset, weatherreport/daylighthours) Rulecode is 15 (Status = optional) converttwelvehr(set1//weatherreport/daylighthours/sunset, X) AND notsimilardaylighthours(X) AND usepreferredsource(set1//weatherreport/source, set1//weatherreport/daylighthours/sunset, Y) AND checktwelvehrclock(Y, Z) IMPLIES AddAtomicTree(Z, sunset, weatherreport/daylighthours) Rulecode is 16 (Status = optional) similarabsolutevalues(set1//weatherreport/pressure/absolutevalue, X) IMPLIES AddNode(pressure, weatherreport) AND AddAtomicTree(X, absolutevalue, weatherreport/pressure) Rulecode is 17 (Status = optional) notsimilarabsolutevalues(set1//weatherreport/pressure/absolutevalue) AND usepreferredsource(set1//weatherreport/source, set1//weatherreport/pressure/absolutevalue, X) IMPLIES AddNode(pressure, weatherreport) AND AddAtomicTree(X, absolutevalue, weatherreport/pressure) Rulecode is 18 (Status = optional) equivalentterms(set1//weatherreport/pressure/directionofchange) AND preferredterm(set1//weatherreport/pressure/directionofchange, X) IMPLIES AddAtomicTree(X, directionofchange, weatherreport/pressure) Rulecode is 19 (Status = optional) notequivalentterms(set1//weatherreport/pressure/directionofchange) AND usepreferredsource(set1//weatherreport/source, set1//weatherreport/pressure/directionofchange, X) IMPLIES AddAtomicTree(X, directionofchange, weatherreport/pressure) Rulecode is 20 (Status = optional) equivalentterms(set1//weatherreport/visibility) AND preferredterm(set1//weatherreport/visibility, X) IMPLIES AddAtomicTree(X, visibility, weatherreport) Rulecode is 21 (Status = optional) notequivalentterms(set1//weatherreport/visibility) AND usepreferredsource(set1//weatherreport/source, set1//weatherreport/visibility, X) IMPLIES AddAtomicTree(X, visibility, weatherreport) Rulecode is 22 (Status = optional) similardistances(set1//weatherreport/visibilitydistance, X) IMPLIES AddAtomicTree(X, visibilitydistance, weatherreport) Rulecode is 23 (Status = optional) notsimilardistances(set1//weatherreport/visibilitydistance) AND usepreferredsource(set1//weatherreport/source, set1//weatherreport/visibilitydistance, X) IMPLIES AddAtomicTree(X, visibilitydistance, weatherreport) Rulecode is 24 (Status = optional) similarindices(set1//weatherreport/airpollutionindex, X) IMPLIES AddAtomicTree(X, airpollutionindex, weatherreport) Rulecode is 25 (Status = optional) notsimilarindices(set1//weatherreport/airpollutionindex) AND usepreferredsource(set1//weatherreport/source, set1//weatherreport/airpollutionindex, X) IMPLIES AddAtomicTree(X, airpollutionindex, weatherreport) Rulecode is 26 (Status = optional) similarindices(set1//weatherreport/sunindex, X) IMPLIES AddAtomicTree(X, sunindex, weatherreport) Rulecode is 27 (Status = optional) notsimilarindices(set1//weatherreport/sunindex) AND usepreferredsource(set1//weatherreport/source, set1//weatherreport/sunindex, X) IMPLIES AddAtomicTree(X, sunindex, weatherreport) Rulecode is 28 (Status = optional) equivalentterms(set1//weatherreport/sunindexrating) AND preferredterm(set1//weatherreport/sunindexrating, X) IMPLIES AddAtomicTree(X, sunindexrating, weatherreport) Rulecode is 29 (Status = optional) notequivalentterms(set1//weatherreport/sunindexrating) AND usepreferredsource(set1//weatherreport/source, set1//weatherreport/sunindexrating, X) IMPLIES AddAtomicTree(X, sunindexrating, weatherreport) Rulecode is 30 (Status = optional) similartemps(set1//weatherreport/dewpoint, X) IMPLIES AddAtomicTree(X, dewpoint, weatherreport) Rulecode is 31 (Status = optional) notsimilartemps(set1//weatherreport/dewpoint) AND usepreferredsource(set1//weatherreport/source, set1//weatherreport/dewpoint, X) IMPLIES AddAtomicTree(X, dewpoint, weatherreport) END OF RULES