-
Notifications
You must be signed in to change notification settings - Fork 17
Predicate Reduction
Gilles Di Guglielmo edited this page Nov 22, 2018
·
1 revision
A small summary of the reduction algorithm.
is FALSE | a | b | AND | reduce(FALSE) | Note |
---|---|---|---|---|---|
No | No | No | reduce(a, FALSE) and reduce(b, FALSE) | ||
Yes | No | No | filter(a) + reduce(b, FALSE) | filter true | |
No | Yes | No | reduce(a, FALSE) + filter(b) | ||
Yes | Yes | Yes | empty |
is TRUE | a | b | AND | reduce(TRUE) | Note |
---|---|---|---|---|---|
No | No | No | empty | ||
Yes | No | No | empty | ||
No | Yes | No | empty | ||
Yes | Yes | Yes | reduce(a, TRUE) and reduce(b, TRUE) |
is FALSE | a | b | OR | reduce(FALSE) | Note |
---|---|---|---|---|---|
No | No | No | reduce(a, FALSE) and reduce(b, FALSE) | reduce false | change operator to and |
Yes | No | Yes | empty | ||
No | Yes | Yes | empty | ||
Yes | Yes | Yes | empty |
is TRUE | a | b | OR | reduce(TRUE) | Note |
---|---|---|---|---|---|
No | No | No | empty | ||
Yes | No | Yes | reduce(a, TRUE) + filter(b) | FILTER false | |
No | Yes | Yes | filter(a) + reduce(b, TRUE) | ||
Yes | Yes | Yes | reduce(a, TRUE) or reduce(b, TRUE) |