; The rules below will raise an event, if rain just started.

{All: {None: [?Rain.Last]}, [?Weather.Weather.Now]} => (Prove: Rain.Start.updateRain(Rain.Last))

{All: [?Lap], {Prove: Rain.Stop.updateRain(Rain.Now)},
	  [?Rain.Now != ?Rain.Last], [?Rain.Now = true]} => (Call: Assistant.Raise(RainStart))

priority: -5, {All: [?Lap], [?Rain.Now != ?Rain.Last]} => (Prove: Rain.Start.updateRain(Rain.Last))

Rain.Start.updateRain(?fact) <= !Weather.Weather.Now = Dry, !, Set(?fact, false)
Rain.Start.updateRain(?fact) <= !Weather.Weather.Now = Drizzle, !, Set(?fact, false)
Rain.Start.updateRain(?fact) <= Set(?fact, true)