# He hasn't found the false positive yet, but he is committing a logical fallacy. What is the fallacy?

I have a co-worker who is trying to tell me that his checksum test between objects is a sufficient test to see if they are the same. I am trying to explain that just because two checksums test the same does not mean that the original objects are. Here are some examples.

But he is not convinced, he argues by giving his own examples:

1. object A has a checksum (let's say it is '123abc' for arguments sake)
2. object B has that same checksum (also '123abc')
3. object C is different (it has checksum '789xyz')
4. if he fixes the error in object C it now has checksum '123abc', like the other two

He concludes (naively I would say) that his algorithm is sound.

How can I convince him that he is committing a logical fallacy? What is the fallacy?

Basically, what it comes down to is that he has not observed a case where object X and object Y (two dissimilar objects) both have the same checksum. This is an extremely rare situation, yes, but it happens, as demonstrated via the link provided above.

To clarify, I am not looking for a better algorithm. I am specifically after the fallacy he is committing.

• Can I just clarify the conclusion of their argument? Is it that ‘same checksum’ always implies ‘same object’, or that their algorithm is good enough in practice? (Or a thrid claim, perhaps?) Aug 23, 2018 at 19:33
• @MarkOxford, imo, those statements are basically the same, since if they falsely imply "same object" it would be bad practice to carry on with the assumption that they are the same, no matter how unlikely that event may be. In the world of computers, inconceivable amounts of data are crunched, you don't want it to fail even once. Aug 23, 2018 at 19:37
• The statements may make a difference to what fallacy this is. If he’s inferring ‘same object’ from ‘same checksum’, this may be an instance of Affirming the Consequent: ‘same object’ entails ‘same checksum’, but the converse does not hold. (If a = b, then b has every property that a has, including the property of having checksum 123abc, but not vice versa.) Aug 23, 2018 at 19:49
• On the other hand, he might just be saying: I know that ‘same checksum’ doesn’t imply ‘same object’, but I’ll act as if it did because I think it’s good enough. I get that this is false (in your opinion), but it may not be a fallacy – a faulty way of drawing a conclusion. It sounds more like a mistaken belief about what is and isn’t good practice. Aug 23, 2018 at 19:49
• @MarkOxford, fair enough. I do believe affirming the consequent is the answer I'm looking for but you make a good point. Those comments could go into an answer, I believe. Aug 23, 2018 at 19:55

What fallacy someone is committing, if any, depends on the kind of argument they are trying to give: deductive or inductive. The co-worker’s argument is likely A or B.

A
P: If a = b, then a has the same checksum as b.
C: Thus, if a and b have the same checksum, then a = b.

B
P: So far, whenever a and b have had the same checksum, it turned out that a = b.
C: Thus, next time a and b have the same checksum, (it’s safe to assume that) a = b.

Both arguments are invalid. A is attempting to be a deductive argument, but ends up Affirming the Consequent. It’s valid cousin is A+

A+
P: If a = b, then a has the same checksum as b.
C: Thus if a and b do not have the same checksum, then a b.

Argument B is the classic induction – except for the bracketed material. From OP’s description, the co-worker isn’t actually trying to establish (deductively or inductively) that a = b if a and b have the same checksum. They are just saying that because it is really rare for distinct objects to have the same checksum, they are going to write their algorithm as if this never happened. Thus, insofar as they are not really giving an argument, they are also not committing a fallacy: they are just making a practical decision (a bad one, in OP’s opinion).

Another, nearby fallacy is Hasty Generalisation. From ‘Normally, a = b if their checksum is the same’, it is inferred that ‘Always, a = b if their checksum is the same’. It’s not clear that that’s applicable, though: if it is really rare for distinct objects to have the same checksum, then the generalisation isn’t all that hasty.

• Then am I guilty of slothful induction (Hasty Generalisation's opposite) for not accepting his reasoning? Aug 23, 2018 at 20:49
• @Octopus I wouldn't have thought so. Like I said, he isn’t really making an inductive argument. (I take it he admits that distinct objects can have the same checksum?) He’s just saying that he’s going to treat 'same checksum'-cases as 'same object'-cases. You find that risky or unwise, but he thinks it’s fine. So, there’s clearly a disagreement between you; but I’m not sure it’s a disagreement about what follows from what. Aug 23, 2018 at 20:59