A fun, light-hearted look into the basics of symbolic logic, and an exploration of some errors we sometimes make as developers, and how to identify and recognize them.
very bright. She majored in philosophy. As a student, she was deeply concerned with issues of discrimination and social justice, and also participated in anti-nuclear demonstrations. Which is more likely? Linda is a bank teller. Linda is a bank teller, and active in the feminist movement. Saturday, March 16, 13
mistakes are easy to make. Understanding how we make logical errors will help you avoid those traps, making you a better programmer. Saturday, March 16, 13
situation such that: the premises are true ...and the conclusion is false A statement is sound if the statement is valid and the premises are true. Saturday, March 16, 13
such that if any condition is not met, the statement cannot be true. Sufficient conditions are conditions for a statement such that if all of the conditions are met, the statement must be true. Saturday, March 16, 13
we know. A true belief backed by faulty reasoning is still true. It’s just not justified. The goal of this talk is identification of epistemic irresponsibility. Saturday, March 16, 13
Q Assume not P; Conclude not Q If P, then Q Assume Q; Conclude P At least, these are not necessarily true (and thus, not valid). Saturday, March 16, 13
will be wet.” Valid: “The grass is not wet; therefore, it is not raining.” Invalid: “The grass is wet; therefore, it is raining.” Invalid: “It is not raining; therefore, the grass is dry.” Saturday, March 16, 13
conditioner until you moved into the house!” Perhaps the tenant did not change the filter. Perhaps something within the A/C failed independently. Sequence is a necessary but insufficient condition for causality. Saturday, March 16, 13
A problem followed a code change, therefore that code must be the cause. That code hasn’t changed, therefore it cannot be the cause. Saturday, March 16, 13
third causes. “The car had a pile of empty beer cans, then was in an accident. Therefore, the pile of empty beer cans caused the accident.” Almost every memory problem I’ve debugged, ever. Saturday, March 16, 13
about the fitness of a block of code. “It works on my machine.” User inputs: how much code breaks because we get an input we didn’t expect? Saturday, March 16, 13
true for median solutions in development. But the mere presence of two (or more) “extreme” statements is an insufficient condition. Saturday, March 16, 13
circumstance occurs, it is usually followed by a return to normal circumstances. Regression fallacy is misinterpreting this return to normalcy as being the result of a response. Saturday, March 16, 13
They’re often credited for reduced accidents as incidents return to a normal rate. In fact, traffic light cameras have no effect on accidents. Saturday, March 16, 13
an extreme situation (high CPU, high memory). Take supposedly corrective action. Observe reversion to the mean. Credit corrective action. Saturday, March 16, 13
and learn to spot poor reasoning. But when you find a good conclusion backed up with poor reasoning... Don’t throw out the conclusion Correct the reasoning; understand the real reason why the conclusion is true. Saturday, March 16, 13