Next to my daytime job as a data engineer I'm doing some basic computer science courses. Currently I'm studying a book on logic.
According to the truth table for material implication, the material implication in the title is true for n = 6.
I find this very hard to accept. Have any of you swallowed this?
Welcome to the illogical world of logic.<p>If the number 6 was both prime and even it would disprove the implication<p><pre><code> X prime and X != 2 -> X odd
</code></pre>
But so long as the left hand side is false, the facts are compatible with the implication so it is ‘true’.<p>I am fascinated with all of the ways logic breaks down as you try to use it as a tool for decision making. Conventional programming languages assume that events happen in some specific sequence, but in the case of logic you can work forwards or backwards. A practical system needs to be restrained from trying to infer true but irrelevant facts. Kurt Godel’s work indicates just one kind of trouble logic can get you into but the problems of reasoning with uncertainty are an absolute bear unless you impose a causal structure of some kind.<p>So I am on the side of McCoy vs Spock and think ‘rationalists’ just call themselves that so they can accuse everyone else at being irrational. Logic will probably disappoint you like it disappointed Whitehead and Russel.
Yes, barely. :) Implications work as the following code:<p><pre><code> def f(n):
if is_prime(n):
return not is_even(n)
else:
return True
</code></pre>
What is the value of f(6)? True is returned in the else-clause because this is an example of a vacuous truth. <a href="https://en.wikipedia.org/wiki/Vacuous_truth" rel="nofollow">https://en.wikipedia.org/wiki/Vacuous_truth</a>
Consider the statement "If it rains the street is wet". If it doesn't rain you would still accept the statement even if the street was dry. Now consider "If 6 is prime then 6 is uneven", which is true - because 6 is not prime.