←back to thread

229 points geetee | 1 comments | | HN request time: 0.001s | source
Show context
larodi ◴[] No.45101187[source]
Why not use PROLOG then, is the essence of cause and effect in programming. And also can expound syllogisms.
replies(1): >>45101599 #
orobus ◴[] No.45101599[source]
The conditional relation represented in prolog, and in any deductive system, is material implication (~PvQ), not causation. You can encode causal relationships with material implication but you’re still going to need to discover those causal relationships in the world somehow.
replies(2): >>45101789 #>>45109754 #
1. cubefox ◴[] No.45101789[source]
Conditional statements don't really work because "if A, then B" means that A is sufficient for B, but "A causes B" doesn't imply that A is sufficient for B. E.g. in "Smoking causes cancer", where smoking is a partial cause for cancer, or cancer partially an effect of smoking.

"A causes B" usually implies that A and B are positively correlated, i.e. P(A and B) > P(A)×P(B), but even that isn't always the case, namely when there is some common cause which counteracts this correlation.

Thinking about this, it seems that if A causes B, the correlation between A and B is at least stronger than it would have been otherwise.

This counterfactual difference in correlation strength is plausibly the "causal strength" between A and B. Though it doesn't indicate the causal direction, as correlation is symmetric.