I am a little confused when it comes to linear boolean functions. According to this post:
We have that a function is linear if: $$f(x \oplus y) = f(x) \oplus f(y)$$
which (again according to the comments in the previously mentioned post) is equivalent to:
$$f(x_1, x_2, ... x_n) = c_0 \oplus c_1x_1 \oplus ... \oplus c_nx_n $$
where multiplication is defined as the logical AND (since wie operate mod 2). Now assume I define the function f as addition with 1, thus:
$$ f(x) = 1 \oplus x $$
This can easily be written in the above mentioned way, namely having $$c_0 = c_1 = 1$$, and thus:
$$ f(x) = 1 \oplus (1 \wedge x_1)$$
Quick double-check: If x = 1:
$$ f(1) = 1 \oplus (1 \wedge 1) = 1 \oplus 1 = 0$$
and if x = 0:
$$ f(0) = 1 \oplus (1 \wedge 0) = 1 \oplus 0 = 1$$
However, if we try to apply the above mentioned definition of linearity, and we set x to 1 and y to 1, we have: $$f(x \oplus y) = f(1 \oplus 1) = f(0) = 1$$ which is NOT the same as: $$f(x) \oplus f(y) = f(1) \oplus f(1) = 0 \oplus 0 = 0$$
Can someone clarify or explain where I am wrong in my thinking?
Thanks :)