Hacker News new | ask | show | jobs
by llm_trw 498 days ago
I never thought I'd see a misunderstanding of what "implies" means in science versus in logic be the fundamental mistake made in a paper on logic for science.

Here's the truth table for implies (if) in logic.

    | A | B | If A then B |
    |---+---+-------------|
    | T | T | T           |
    | T | F | F           |
    | F | T | T           |
    | F | F | T           |
    
Show this to anyone in the sciences who hasn't done logic and you'll instantly get the objections "But hang on, the two rows at the bottom don't fit!".

This is where you need to add temporal logic so that the scientific understanding of A casually implies B can be represented in logic.

In short the paper does nothing of the sort of what it says it does because it fundamentally uses the wrong tool for the job.

1 comments

But those two rows are vacuous truths, which Popper obviously doesn't care about in context as they're not falsifiable.
The whole paper depends on the factorization:

    B = (A or B) and (if A then B)
In the following table we have the other three operations which give different truth values to what you call the vacuous case. If "if" is replaced by "x" or "y" in the following table than that factorization does not work, "z" still does work but I'd be hard pressed to find anyone who thinks it represents causal implication better than "if" or "x".

    | A | B | x A B | y A B | z A B | If A then B |
    |---+---+-------+-------+-------+-------------|
    | T | T | T     | T     | T     | T           |
    | T | F | F     | F     | F     | F           |
    | F | T | F     | F     | T     | T           |
    | F | F | F     | T     | F     | T           |
I'm not using the common names for the operations to not bias people.

Or to put it another way: No one outside a logic course seriously thinks that A implies B means the same thing as not A or B.

It’s a common pattern in programming too.

Consider the rule: If a user has write access, then they must be an admin.

If you write a function to enforce this, you’ll naturally follow logical implication—checking if the user has write access and raising an error if they aren’t an admin, while doing nothing if they don’t have write access.

The issue is that in a scientific experiment you can only change the state of A.

If for whatever reason B is stuck to T in all cases no one will think that A implies B, they will think that B is independent of A.

Yet that would still fit with a world in which A logically implies B.

You would need B to be dependent on a third variable which you're not controlling in the experiment that allows the value of B to change T or F outside your control.

Any good experimentalist will tell you to fix your broken experiment if that kept happening.

It's only when you have no control over the variables and you collect statistics that the view in the paper makes sense.

That's the difference between experimental and observational science.

And the philosophy of science is decades to centuries away from understanding that in any meaningful way.