Predicate

         Use Function

Predicate is based on Function Variables –

<Any predicate is either term predicate or logical predicate.>

{Not all term predicates are based on function variables. For example, 2 != 3 is not.}

Nested Predicate is used for calculation of Calculable Predicate ®

Calculated Predicate is a Predicate º

Nested Predicate is a Predicate º

 

Predicate. Term Predicate

         Use Function

Term Predicate is a Predicate º

            <It has no nested predicates.>

<Term predicate is based on union of function variables that form its first and second functions.>

<First and second functions of one term predicate are different.>

{The result of term predicate is the result of application of comparison operation to the results of first and second functions.}

Term Predicate is defined by a Comparison Operation ®

            [Comparison Operation = {“>”, “<”, “>=”, “<=”, “!=”, “=”}]

Term Predicate is defined by a First Function ®

Term Predicate is defined by a Second Function ®

First Function is a Function º

Second Function is a Function º

           

Predicate. Logical Predicate

Logical Predicate is a Predicate º

            <Quantity of nested predicates should comply with the logical operation.>

<Logical predicate is based on function variables set calculated as union of function variables of all nested predicates.>

{The result is calculated as application of the logical operation to results of nested predicates.}

Logical Predicate is defined by a Logical Operation ®

            [Logical Operation = {“And”, “Or”, “Not”}]

           

Predicate. Tree

Use Tree

Predicate is a Tree Node º

Calculated Predicate is a Parent Node º

Nested Predicate is a Child Node º

            {Positions of nested predicates are not essential.}

 

Predicate. Statement String

Predicate has a Priority ®

<Term predicate has priority 10.>

<NOT has priority 9.>

<AND has priority 8.>

<OR has priority 7.>

Predicate has a Statement String ®

<If the predicate is term, its statement string is ‘<first function> <comparison operation> <second function>’.>

<If the predicate is logical unary, its statement string is ‘<logical operation> <component>’. If the predicate is logical binary, its statement string is ‘<first component> <logical operation> <second component>’. Each component is ‘<nested predicate>’ if it has not less priority than priority of the logical predicate, and ‘(<nested predicate>)’ otherwise.>