I guess I have several problems with logical causality/FDT/LDT.
First, there’s a distinction between “efficient algorithm”, “algorithm”, “constructive/intuitionistic function” and “(classical) mathematical function”. Suppose someone tells me to implement a squaring function, so I then write some code for arithmetic, and have a program output some squares. In this case, one can sooort of say that the mathematical function of “squaring” causally influences the output, at least as a fairly accurate abstract approximation. But I wouldn’t be able to implement the vast majority of mathematical functions, so it is a pretty questionable frame. As you go further down the hierarchy towards “efficient algorithm”, it becomes more viable to implement, as issues such as “this function cannot be defined with any finite amount of information” or “I cannot think of any algorithm to implement this function” dissipate. I have much less problem with notions like “computational causality” (or alternatively a sort of logical-semantic causality that I’ve come up with a definition for which I’ve been thinking of whether to write a LW post about, leaning towards no because LDT-type stuff seems like a dead end).
However, even insofar as we grant the above process as implying a logical causality, I wasn’t created by this sort of process. I was created by some complicated history involving e.g. evolution. This complicated history doesn’t have any position where one could point to a mathematical function that was taken and implemented; instead evolution is a continuous optimization process working against a changing reality.
Finally, even if all of these problems were solved, the goal with logical causality is often not just to cover structurally identical decision procedures, but also logically “isomorphic” things, for an extremely broad definition of “isomorphic” covering e.g. “proof searches about X” as well as X itself. But computationally, proof searches are very distinct from from the objects they are reasoning about.
I guess I have several problems with logical causality/FDT/LDT.
First, there’s a distinction between “efficient algorithm”, “algorithm”, “constructive/intuitionistic function” and “(classical) mathematical function”. Suppose someone tells me to implement a squaring function, so I then write some code for arithmetic, and have a program output some squares. In this case, one can sooort of say that the mathematical function of “squaring” causally influences the output, at least as a fairly accurate abstract approximation. But I wouldn’t be able to implement the vast majority of mathematical functions, so it is a pretty questionable frame. As you go further down the hierarchy towards “efficient algorithm”, it becomes more viable to implement, as issues such as “this function cannot be defined with any finite amount of information” or “I cannot think of any algorithm to implement this function” dissipate. I have much less problem with notions like “computational causality” (or alternatively a sort of logical-semantic causality that I’ve come up with a definition for which I’ve been thinking of whether to write a LW post about, leaning towards no because LDT-type stuff seems like a dead end).
However, even insofar as we grant the above process as implying a logical causality, I wasn’t created by this sort of process. I was created by some complicated history involving e.g. evolution. This complicated history doesn’t have any position where one could point to a mathematical function that was taken and implemented; instead evolution is a continuous optimization process working against a changing reality.
Finally, even if all of these problems were solved, the goal with logical causality is often not just to cover structurally identical decision procedures, but also logically “isomorphic” things, for an extremely broad definition of “isomorphic” covering e.g. “proof searches about X” as well as X itself. But computationally, proof searches are very distinct from from the objects they are reasoning about.