Closed bahulneel closed 8 years ago
This also applies to non-monotonic rules as in https://github.com/bloom-lang/bud/blob/master/docs/operational.md#non-monotonicity-and-strata
The goal is to postpone evaluating non-monotonic operators until fixpoint is reached on their input collections.
In mathematical logic, stratification is any consistent assignment of numbers to predicate symbols guaranteeing that a unique formal interpretation of a logical theory exists. Specifically, we say that a set of clauses of the form Q1 /\ ... /\ Qn /\ ¬Qn+1 /\ ... /\ ¬Qn+m -> P is stratified if and only if there is a stratification assignment S that fulfills the following conditions:
Stratification