1 Introduction

The concepts of alienness and strong alienness of functional equations were introduced by J. Dhombres in his paper [14] in the following form. Let \(E_1(f) = 0\) and \(E_2(f) = 0\) be two functional equations for a function f defined on a nonempty set X and mapping to a groupoid Y with an identity element 0. The equations \(E_1\) and \(E_2\) are called alien with respect to X and Y, if each solution \(f: X \rightarrow Y\) of

$$\begin{aligned} E_1(f) + E_2(f) = 0 \end{aligned}$$

is a solution of the system

$$\begin{aligned} E_1(f)= & {} 0\\ E_2(f)= & {} 0. \end{aligned}$$

The equations \(E_1\) and \(E_2\) are said to be strongly alien with respect to X and Y, if all solutions \(f,g: X \rightarrow Y\) of

$$\begin{aligned} E_1(f) + E_2(g) = 0 \end{aligned}$$

are solutions of the system

$$\begin{aligned} E_1(f)= & {} 0\\ E_2(g)= & {} 0. \end{aligned}$$

These properties of functional equations have been investigated by several authors during the last decades (cf., e.g., [2, 3, 18, 19, 21, 27, 29, 30, 33]). We note that, in those publications, mostly the word ‘alienation’ was used for the concept which is called alienness here.

In this paper, we consider the alienness phenomenon for linear functional equations of the type

$$\begin{aligned} \sum ^{n+1}_{i=0}{f_i(p_ix + q_iy)} =0\quad \quad (x, y \in X), \end{aligned}$$
(1)

where n is a non-negative integer, \(p_0, \dots , p_{n+1}\) and \(q_0, \dots , q_{n+1}\) are rational numbers, XY are linear spaces and \(f_0, \dots , f_{n+1}: X \rightarrow Y\) are unknown functions.

Classical results on the class of functional equations above and on its important sub-classes were published by M. Fréchet ([16, 17]) and W. H. Wilson ([39]). Their solutions, under general conditions, were determined by L. Székelyhidi ([35, 37]; cf., also, [34] and [36]). Recent studies of (1) and its generalizations, were performed, among others, in [22, 25, 31] and [38]. The alienness property, connected to linear functional equations, was also considered in several papers (e.g. in [1, 15, 20] and [38]).

Our aim is to present a computer program developed in the computer algebra system Maple,Footnote 1 which investigates alienness and strong alienness of linear functional equations belonging to class (1).

In the first part of the paper, we overview some basic properties of linear functional equations which are important for our investigations. In Sect. 2 we define some extensions of the alienness concepts of functional equations. Finally, in the last section we present our program.

2 Basic properties of linear functional equations

In this section, we present some general theorems on solutions of linear functional equations of type (1). In order to formulate them, we give some basic definitions.

Let XY be linear spaces and let \(f:X\rightarrow Y\) be a function. Let, furthermore,

$$\begin{aligned} \Delta _y^0 f(x)=f(x) \qquad (x,y\in X) \end{aligned}$$

and, for a non-negative integer n,

$$\begin{aligned} \Delta ^{n+1}_y f(x) = \Delta _y^n f(x+y) - \Delta _y^n f(x) \qquad (x,y\in X). \end{aligned}$$

If n is a non-negative integer, a function \(f:X\rightarrow Y\) is called a polynomial function of degree n if it satisfies

$$\begin{aligned} \Delta ^{n+1}_y f(x) = 0 \qquad (x,y\in X), \end{aligned}$$

f is said to be a monomial function of degree n if it fulfils

$$\begin{aligned} \Delta ^n_y f(x)- n!f(y)= 0 \qquad (x,y\in X). \end{aligned}$$

Now, we formulate some fundamental results on solutions of functional equations of type (1) determined by L. Székelyhidi ([35, 37]; cf., also, [39]). In these theorems and in the following parts of the paper, we use the convention \(0^0=1\).

Theorem 1

Let n be a non-negative integer, let X and Y be linear spaces over the field of rationals, let \(p_0,p_1,\dots ,p_{n+1}\) and \(q_0, q_1,\dots ,q_{n+1}\) be rational numbers and assume that

$$\begin{aligned} M_k^{(i)}: X\rightarrow Y \end{aligned}$$

are monomial functions of degree k for \(i = 0, \dots , n+1\) and \(k = 0, \dots , n\). The functions \(f_0, \dots , f_{n+1}: X \rightarrow Y\),

$$\begin{aligned} f_i(x) = \displaystyle {\sum ^n_{k = 0}{M_k^{(i)}(x)}} \quad (x\in X,\ i=0,\dots ,n+1) \end{aligned}$$

solve functional Eq. (1) if and only if the monomial functions \(M_k^{(i)}: X \rightarrow Y\) given above fulfil

$$\begin{aligned} \sum ^{n+1}_{i=0}{p_i^jq_i^{k-j}M_k^{(i)}(x)}=0 \qquad (x\in X,\ k=0,\dots ,n,\ j=0,\dots ,k). \end{aligned}$$

Theorem 2

Let n be a non-negative integer, let X and Y be linear spaces over the field of rationals, let \(p_0,p_1,\dots ,p_{n+1}\) and \(q_0,q_1,\dots ,q_{n+1}\) be rational numbers that satisfy

$$\begin{aligned} p_iq_j \ne p_jq_i \quad (i,j=0,\dots ,n+1,\ i\ne j). \end{aligned}$$
(2)

The functions \(f_0, \dots , f_{n+1}: X \rightarrow Y\) solve functional Eq. (1) if and only if they are of the form

$$\begin{aligned} f_i(x) = \displaystyle {\sum ^n_{k = 0}{M_k^{(i)}(x)}} \qquad (x\in X,\ i=0,\dots ,n+1), \end{aligned}$$

where

$$\begin{aligned} M_k^{(i)}: X \rightarrow Y \quad (i=0,\dots ,n+1,\ k=0,\dots ,n) \end{aligned}$$

are monomial functions of degree k satisfying the equations

$$\begin{aligned} \sum ^{n+1}_{i=0}{p_i^jq_i^{k-j}M_k^{(i)}(x)}=0 \qquad (x \in X,\ k=0,\dots ,n,\ j=0,\dots ,k). \end{aligned}$$

3 Extensions of the concepts of alienness and strong alienness

With the help of computers, one can consider alienness and strong alienness properties for more than two functional equations and for more than one (or two) unknown functions as well. In order to perform such investigations, we extend the corresponding definitions of J. Dhombres ([14]) in the following way.

Let mn be positive integers \((m \ge 2)\) and let

$$\begin{aligned} E_1(f_1, \dots , f_n)= & {} 0\\&\vdots&\\ E_m(f_1, \dots , f_n)= & {} 0 \end{aligned}$$

be functional equations for the unknown functions \(f_1, \dots , f_n\) defined on a nonempty set X and mapping to a groupoid Y with an identity element 0.

The equations \(E_1, \dots , E_m\) are called alien with respect to X and Y, if all solutions \(f_i: X\rightarrow Y\), \((i=1,\ldots ,n)\), of

$$\begin{aligned} E_1(f_1,\ldots ,f_n)+\cdots +E_m(f_1,\ldots ,f_n)=0 \end{aligned}$$
(3)

are solutions of the system

$$\begin{aligned} \nonumber E_1(f_1, \dots , f_n)= & {} 0 \\&\vdots&\\ \nonumber E_m(f_1, \dots , f_n)= & {} 0, \end{aligned}$$
(4)

too.

The equations \(E_1,\dots , E_m\) are said to be strongly alien with respect to X and Y, if all solutions \(f_{ij}: X\rightarrow Y\), \((i=1,\dots ,m,\ j=1,\dots ,n)\) of

$$\begin{aligned} E_1(f_{11},\ldots ,f_{1n})+\cdots +E_m(f_{m1},\dots ,f_{mn})=0 \end{aligned}$$
(5)

are solutions of the system

$$\begin{aligned} \nonumber E_1(f_{11}, \dots , f_{1n})= & {} 0 \\&\vdots&\\ \nonumber E_m(f_{m1}, \dots , f_{mn})= & {} 0 \end{aligned}$$
(6)

as well.

4 Description of the program isalien

In this section, we describe the computer program isalien, which investigates alienness and strong alienness of linear functional equations of type (1).

The program was developed in the computer algebra system Maple. (It can be used in Maple 17 and in newer versions of Maple. A copy of the program can be requested from the first author of the paper.) It operates with formal computations (without any numerical approximations). This means that it always makes an exact decision about the alienness or strong alienness of the equations considered. By this property, using the terminology of ‘mathability’ ([7]), it ‘increases the level of mathability’ (or ‘improves the mathability’) of the underlying system (cf., also, [11] and [12]).

The program extensively uses another Maple program lfesolve, which determines solutions of functional equations belonging to class (1). (Cf. [10], furthermore, [8, 9, 23] and [24].) Just like lfesolve, isalien is contained in the Maple package FunctionalEquations. It enriches the field of computer algebraic investigations of functional equations and inequalities described, among others, in the papers [4,5,6, 13, 26, 28] and [32].

Analogously to other Maple programs, isalien can be accessed by the forms

figure a

or

figure b

or, if the command

figure c

has already been applied in the Maple session considered, simply by

figure d

To run the program, users have to give at least two input parameters: the list of linear functional equations called e and the list of the unknown functions involved in the given equations f. In addition, optional parameters can be used. Thus, the input of the program should be of the form

figure e

The list of functional equations e have to be given as a Maple list structure between square brackets, all equations in the list are separated by a comma. Moreover, all of the input equations have to belong to the class (1) and the variables of all the unknown functions of the equations in e should be represented by ‘x’ and ‘y’. An important property of e is that all of the functional equations in e must have the same number of unknown functions.

The list of unknown functions f also has to be given as a Maple list. In the general case, each equation in e can have more than one unknown function, so these unknown functions can be denoted by a nested list (i.e. by a list in list structure). (In the case when only one unknown function appears in each equation in e, the outside brackets can be omitted.)

Some examples of the correct form of e and f

$$\begin{aligned}{}[f_1(x+y) - f_1(x) - f_2(y) = 0, g_1(x-2y) + 3g_2(x) = 0], [[f_1, f_2], [g_1, g_2]]\nonumber \\ \end{aligned}$$
(7)
$$\begin{aligned}{}[f(x+y) - f(x) - f(y) = 0, g(x-2y) + 3g(x) = 0], [[f], [g]] \end{aligned}$$

or simply

$$\begin{aligned}{}[f(x+y) - f(x) - f(y), g(x-2y) + 3g(x)], [f, g]. \end{aligned}$$

We note that the order of the unknown functions in list f is also important, since it will affect the final solution (cf. the definitions in Sect. 2). For example, the solutions for the input (7) and the input

$$\begin{aligned}{}[f_1(x+y) - f_1(x) - f_2(y) = 0, g_1(x-2y) + 3g_2(x) = 0], [[f_1, f_2], [g_2, g_1]] \end{aligned}$$

are different.

Furthermore, according to the definition of strong alienness of functional equations and its extension, when users want to check the strong alienness of functional equations given in e, the unknown functions appearing in the equations in e have to be pairwise different.

The program has three types of options:

  • CHECK = {‘alien’, ‘strongalien’}

  • OUTPUT = {‘brief’, ‘verbose’, ‘full’}

  • ErrorWarn_STYLE = {‘ewYes’, ‘ewNo’}

The default options are: [‘alien, ’brief‘, ’ewYes‘].

As it was mentioned above, isalien uses the Maple function lfesolve, which determines the exact solutions of systems of linear functional equations containing equations of type (1). It has turned out, that warning and error messages of the program lfesolve could be misleading for the users in the output of isalien. For this reason, we decided to modify lfesolve accordingly. With the new version, we can manage the warning and error messages directly in our main program and any other applications in the future.

If the input is given correctly, the program will provide an answer about the alienness or the strong alienness of the functional equations given in e. In the following, some examples with different options and their meanings will be shown.

When users give values for the parameters e and f only, the default values of the options will be used. This means that the program will investigate the alienness of the given equations and return the answer True or False. For example:

figure f

yields

figure g

For more information about the solutions of the functional equations considered, the OUTPUT option has to be modified into ’verbose‘ or ’full‘. E.g.,

figure h

gives

figure i

With the option ’full‘, the program will present an output which contains the solutions of the functional equation \(E_1 + \dots + E_m = 0\) and the solutions of the system \([E_1 = 0, \dots , E_m = 0]\). According to Theorems 1 and 2, the solutions are presented in the form of linear combinations of monomial functions. (Monomial functions of degree k, \(M^i_k, (i = 0, \dots , n+1,\ k = 0, \dots , n)\) are denoted by M(i,k) in Maple.)

figure j

yields

figure k

For a decision about strong alienness of functional equations, users can use the CHECK option with value ’strongalien‘ combined with the appropriate OUTPUT option as mentioned above. For example,

figure l

gives

figure m
figure n

returns

figure o
figure p

gives

figure q

As it was mentioned in Chapter 2, our program is able to handle the situations when the input contains more than two functional equations and each equation has more than one unknown functions. In the following example, the program works with four functional equations:

figure r

yields

figure s

In case the equations contain two unknown functions,

figure t

has the output

figure u

As mentioned before, our program decides about the alienness or strong alienness of linear functional equations by a comparison of the solutions of Eqs. (3) or (5) and the solutions of the systems of Eqs. (4) or (6), respectively. According to Theorem 2, we can find all solutions of functional equations which belong to class (1) in case these functional equations fulfill condition (2). On the other hand, if condition (2) is not valid, by Theorem 1, we are still able to determine all polynomial solutions of (1). This means that, in case condition (2) is not valid in (3) or (5), we can only find its polynomial solutions and cannot decide whether the remaining solutions are also solutions of (4) or (6), respectively, or not. Therefore, the final conclusion about the alienness and strong alienness might be affected.

If there exists a polynomial solution of (3) or (5) which does not fulfil (4) or (6), respectively, we can return that the given functional equations are not alien or not strongly alien, respectively. E.g.,

figure v

gives

figure w

However, if all polynomial solutions of (3) or (5) satisfy (4) or (6), respectively, the program is not able to decide about the alienness or strong alienness of the functional equations given. In this case, the program will provide a warning message announcing the problem and will determine a result if polynomial solutions are considered only.

figure x

gives

figure y

In the following example, the functional equation \(E1 + E2 = 0\) yields \(0 = 0\), it means an arbitrary f fulfills this equation. Comparing this with the results of the system of functional equations \([E1 = 0, E2 = 0]\), the program will give the conclusion that the given functional equations E1 and E2 are not alien.

figure z

we obtain

figure aa

Obviously, besides checking alienness and strong alienness of linear functional equations ‘directly’, our program can also be used by other applications. In such cases, it might be confusing, if the the error or warning messages appear in the form mentioned above (e.g., in the output of the application using our program). In order to be able to manage such situations, we added one more parameter in the options part of the program called ErrorWarn_STYLE which accepts two values: ‘ewYes’ and ‘ewNo’. This option can be used to switch on and switch off the warning and error messages in the output. In the following part, some examples relating to that option will be given.

figure ab

yields

figure ac

In the case when the input is incorrect, the program will show an appropriate error message with a short hint about the problem (similarly to other error messages in Maple). For example,

figure ad

has the output

figure ae

the input

figure af

gives

figure ag

and

figure ah

yields

figure ai

moreover

figure aj

gives

figure ak

The option ErrorWarn_STYLE can be used to switch off error messages and to return error codes (which can be used by other applications):

figure al

yields

figure am