Proof that a particular algorithm has been used I’m looking for the existence (or the proof of non-existance) of a method to prove (with arbitrary certainty) that a particular output is the result of a particular algorithm applied on a particular input.
$$ f(x) = y $$
How can I prove the above equation holds by knowing all of its constituents but without actually applying the function?
This would be akin to a zero knowledge proof but could be easily used in blockchains to embed AI algorithms.
Given some constraints on the inputs (correlated) or the algorithms (linear) do you know of any such method?
I’m looking for the existence (or the proof of non-existance) of a
method to prove (with arbitrary certainty) that a particular output is
the result of a particular algorithm applied on a particular input.

If by &quot;a particular algorithm&quot; you mean &quot;any algorithm whatsoever&quot;, then definitely no such method exists, because before you could establish if an algorithm gave a particular output for a particular input, you'd first have to establish whether the algorithm even halts on that particular input, and the halting problem is well-known to be undecidable. Note that even removing the restriction on not actually running the algorithm wouldn't let you escape from this.
If by &quot;a particular algorithm&quot; you mean &quot;a specific algorithm that I'm thinking of right now&quot; then in general, as was discussed in the comments, if you have a single input and a single output, an infinite number of different algorithms which produce that specific output from that specific input can be constructed, so it's impossible to distinguish between them solely by inspecting those two values.
If, on the other hand, you just want to test whether a given algorithm would have given a particular output for a given input, regardless of whether some different function might also have given the same output, then there are at least some relevant cases where it's not - or shouldn't be - possible. For example, any block cipher should output ciphertext that doesn't leak any usable information about either the key or the plaintext. Even if you have the key and the plaintext, if you can tell a given ciphertext would be produced by them without actually running the encryption (or decryption) function then that function is broken.
In general, if you have all the inputs, all the outputs, and full knowledge of the algorithm, then it's not clear what &quot;zero knowledge proof&quot; would mean here, since you evidently possess all the knowledge you'd need to run the algorithm yourself. There is the concept of a certificate value which can be a proof of an expensive algorithm - for example, you can prove you solved a given discrete logarithm by simply supplying the right exponent, so anybody can easily verify it without going to the trouble of solving it themselves - but this is completely dependent on the algorithm in question.