Function

Function is based on Function Variables –

            <It can be either term, or constant, or operation, not several of them.>

            {Not all functions are based on function variables. For example, constants are not.}

Nested Function is used for calculation of Calculated Function ®

Calculated Function is a Function º

Nested Function is a Function º

Nested Function has a Position ®

Function has an Arity ®

 

Function. Term

Term is a Function º

            <It has no nested functions.>

            <It has one function variable.>

            {Term function allows to use one variable in several roles of a function.}

 

Function. Constant

Constant is a Function º

            <It has no nested functions.>

            <It has no function variables.>

{The result of the function is its value. It does not influence on function signature.}

Constant is defined by a Value ®

            {Value is a string because it generalizes any data type.}

 

Function. Operation

Operation is a Function º

<Operation is based on those function variables that form the nested functions.>

<Aggregate operation, having aggregate operation type, cannot be nested.>

{The result of the arithmetic operation is fulfillment of arithmetic operation on its nested functions. The result of aggregate operation is calculated according to aggregate operation for set of combinations of base variables.}

Operation is defined by Operation Type ®

            <Operation should comply with quantity of nested functions.>

<Only unary and binary operations are allowed now.>

Arithmetic Operation Type is an Operation Type º

[Arithmetic Operation Type = {“Addition”, “Multiplication”, “Subtraction”, “Division”, “Root”, “Exponentiation”, “Absolute Value”, “Floor”, “Mod”, “Logarithm”, “Sine”, “Cosine”, …}]

Aggregate Operation Type is an Operation Type º

            <Operation type can be arithmetic or aggregate, not both.>

[Aggregate Operation Type = {“Sum”, “Min”, “Max”, “Average”, “Covariation”, “Standard Deviation”, …}]

 

Function. Tree Node

Use Tree

Function is a Tree Node º

Calculated Function is a Parent Node º

Nested Function is a Child Node º

 

Function. Statement String

Function Variable has a Full Name ®

Function has a Priority ®

<Aggregate functions have a maximal priority (10).>

<Not division, multiplication, addition, and subtraction have a maximal priority (10).>

<Division,  multiplication, term function, and constant function have a middle priority (9).>

<Addition, subtraction have the less priority (8).>

Function has a Statement String ®

            <If the function is constant, its statement string is its value.>

<If the function is term, its statement string is its function variable full name.>

<If the function has the maximal priority, its statement string is “<operation type> (nested function)” if unary or “<operation type> (nested function, nested operation)” if binary.>

<If the function is division (multiplication, addition, subtraction), its statement string is “<first component> / (*, +, -) <second component>”. Each component is “<nested operation>” if it has not less priority than the division (multiplication, addition, subtraction), or “(<nested operation>)” otherwise. Second component of division and subtraction is always “(<nested operation>)”.>