Popper Mistaken About Physical Determinism
_Objective Knowledge_ by Karl Popper, p 221
The reason is that some functions are not reversible. Knowing the function used, and the output, does not let you calculate the input.
An example is addition. If you know two numbers were added, and the result was four, you cannot work out what the original numbers were. The output of addition has less information than the input.
To predict the past based on the present, one needs to posit both physical determinism and that all the laws of physics are reversible.
physical determinism implies that every physical event in the distant future (or in the distance past) is predictable (or retrodictable) with any desired degree of precision, provided we have sufficient knowledge about the present state of the world.This is false. Physical determinism does not imply that we can calculate what the past was like based on the present.
The reason is that some functions are not reversible. Knowing the function used, and the output, does not let you calculate the input.
An example is addition. If you know two numbers were added, and the result was four, you cannot work out what the original numbers were. The output of addition has less information than the input.
To predict the past based on the present, one needs to posit both physical determinism and that all the laws of physics are reversible.
Comments
f(x) = x+2
but not
f(x) = +
A better example might be that
f(x) = x^2
yields 4 for two different values of x. Even better, periodic functions like
f(x) = sin x
have the same output for an infinite number of inputs.
Anonymous at 10:43 PM on March 11, 2009 | Permalink
(+) and get 0
(+ 2) and get 2
(+ 2 2) and get 4
(+ 2 2 2) and get 6
But anyway, sure addition is a function, normally of two inputs. It maps input numbers to output numbers, just like squaring or sin.
f(x,y) = x+y
You can define addition without using a +, if you're worried about circularity. For example in ruby, for integers >= 0:
def cute_addition(x,y)
result = Array.new
x.times {result << :symbol}
y.times {result << "string"}
return result.size
end
- Elliot
Anonymous at 10:54 PM on March 11, 2009 | Permalink