В Википедии есть хороший обзор того, как работает алгоритм Rete.Одна из ключевых концепций, которую нужно понять, заключается в том, что правила не ищут данные, которые их удовлетворяют, а данные ищут правила, которые они удовлетворяют.Алгоритм повторения предполагает, что большинство данных остается неизменным после каждого срабатывания правила, поэтому поиск данных по правилам будет неэффективным, поскольку только часть данных изменяется после каждого срабатывания правила.Вместо этого правила сохраняют состояние того, что уже сопоставлено, и когда вносятся изменения в данные, которые влияют на это состояние, оно обновляется.
Когда правило правила 0 определено, оно активируется, потому что у него нет условий.Когда правило rule1 определено, оно не активируется, потому что my-fact еще не существует.Когда выполняется правило rule0, утверждается факт my-fact, а затем правило rule1 обновляет свое состояние и активируется.Когда выполняется правило rule1, my-fact отменяется, а состояние правила rule1 обновляется, поскольку оно соответствует my-fact.Это правило не влияет на правило rule0, поскольку в нем нет условий, соответствующих моему факту.