What is the relationship between the concept of an equation (a statement) and the concept of a function (and the concept of morphisms in category theory)?
I'm going to use equations as the most important subclasses of statements. To take a seemingly trivial example, the equation (E1) 2*x = 5
. This equation which could be rewritten as (E2) f(x) => 2*x -5
, but E1 and E2 are technically not equivalent. With f(x)=> I mean, the statement is a function of x. For every x f(x) returns true or false, depending on the contents of f(x). The equation E1 can be true for values depending on x. The truth value is dependent on the value of x, i.e. E1 is a function which returns a bool, given a value of x. E2 returns a value. I haven't defined domain and co-domain. Say it is N. E2 is always true. So if I write (E3) f(x) = 2*x -5 and f(x)=0
, E3 and E1 become equivalent. In other words, everything is a function, because equations are simply boolean functions. In (E2), f(x) could be seen as a placeholder for (E1). E2 says: there is an expression, which is an equation, which has the contents 2*x=5. In a programming language this could be all said much clearer. In python E1 would be: 2*x ==5 and E3: def f(x): return 2*x-5==0.
More generally, as I understand it, the approach of Russell/Wittgenstein was to reduce everything to statements. In category everything is reduced to functions (or morphisms in it's own parlance).
Edit: some further notes to clarify.