# May a causal system depend on future values of its own output

For example, let's assume a system given as

y[n]-9y[n+2]=x[n]


I convert the difference equation to

y[n]=(y[n-2]-x[n-2])/9


and say that "the system is causal" and "not-memoryless" since it depends on past values of its output. But could it be possible to define a system to be "not-causal" and depend on any future value of its own output at the same time (no input term other than any present value of x[n] will be possible for this system and)?

By definition, the output of a causal system cannot depend on any future input or output values. However, I think there is a misunderstanding in your question. Suppose you are given the following difference equation:

$$a_0y[n+1]+a_1y[n]+a_2y[n-1]=b_0x[n]\tag{1}$$

The important point is that it is not possible to say if the system described by Eq. $(1)$ is causal or not, simply because Eq. $(1)$ does not uniquely describe one system, but in general there are three systems described by $(1)$. One of them is causal and its output can be computed from

$$a_0y[n+1]=b_0x[n]-a_1y[n]-a_2y[n-1]\tag{2}$$

Note that for any $n$ the output in $(2)$ only depends on past output (and input) values.

The second system described by Eq. $(1)$ is non-causal. The current output sample depends on past and on future output values:

$$a_1y[n]=b_0x[n]-a_0y[n+1]-a_2y[n-1]\tag{3}$$

And, finally, Eq. $(1)$ can also describe an anti-causal system, the output of which only depends on future output and input values:

$$a_2y[n-1]=b_0x[n]-a_0y[n+1]-a_1y[n]\tag{4}$$

The ambiguity of Eq. $(1)$ is also reflected in the $\mathcal{Z}$-transform domain, where $(1)$ corresponds to the following transfer function:

$$H(z)=\frac{b_0}{a_0z+a_1+a_2z^{-1}}\tag{5}$$

This transfer function, just like the difference equation $(1)$, does not uniquely define a system. Only if you specify the region of convergence (ROC) of $(5)$ will the system be uniquely characterized. Each of the three possible interpretations of Eq. $(1)$ discussed above correspond to a different ROC of $H(z)$.

Every time you have something like $y(n) = y(n+1) + x(n)$, you can convert it to something like $y(n) = y(n-1) - x(n-1)$, by substituting $n \rightarrow n-1$. So, depending on future values of the output is equivalent to depending on past values.