Computes true if one Op "allows" another
Op .
The following notes describe the meaning of "allows":
Given two Operators, A and B.
Let "allows" be defined as:
(A allows B) :
there exists an Object o such that
((A(o) == true) and (B(o) == true))
For example:
A(Object o) = { return (o instanceof String); }
B(Object o) = { return ((o instanceof String) || (o instanceof List)); }
then, by the definition of "allows":
A implies B. |