Form · Chapter 1 of 4
Valid, Sound, and the Difference
On the difference between an argument that holds together and one that is true.
3 min read
All cats are made of marzipan. Felix is a cat. Therefore Felix is made of marzipan. That argument is valid. Every line of it is false, the conclusion is absurd, and the reasoning is impeccable, which tells you almost everything you need to know about what validity is and is not.
Validity is a property of structure. An argument is valid when the truth of its premises would guarantee the truth of its conclusion; whether any premise is actually true is a separate question the notion is deliberately silent about. Soundness is the conjunction: valid, with premises that are in fact true. Only a sound argument gives you a reason to believe anything.
Splitting the two is the single most useful thing an hour of logic can do for you, because it locates disagreements. A challenge to validity is settled by inspecting the form and can be settled by anyone, without leaving the room. A challenge to a premise requires evidence from outside the argument, and is usually the real dispute. The characteristic failure of an argumentative culture is to conduct the second kind of disagreement in the vocabulary of the first: to call an argument illogical when what is meant is that one of its assumptions is false.
Consider: every company that adopted this framework grew; we have adopted it; therefore we will grow. Someone objects that the argument is invalid. They are wrong. Read as stated it is a straightforward universal instantiation and it carries perfectly. The weakness is entirely in the first line, which is a sweeping empirical claim that nobody has checked and which survivorship bias alone would explain: the companies that adopted it and failed are not around to be counted. Calling it invalid moves the conversation onto ground where the proponent is standing on rock. Challenging the premise moves it onto ground where they are standing on nothing.
A small number of invalid forms cause most of the trouble. Affirming the consequent is first by a distance: if P then Q, and Q, therefore P. If it rained the pavement is wet; the pavement is wet; therefore it rained, except that somebody may have washed the car. A conditional licenses travel in one direction only, and the pull of running it backwards is enormous because so many everyday conditionals do happen to hold both ways, which trains the habit without ever punishing it. Denying the antecedent is its mirror: if P then Q, and not P, therefore not Q. No degree; therefore no job, which does not follow, however often it is believed by the person saying it.
Two consequences of the distinction are constantly forgotten, usually by the same person within a minute of each other. The first is that a bad argument for a true conclusion is still a bad argument, and noticing this is not pedantry: if the argument is what persuaded you, the truth of the conclusion was a coincidence and you should expect the method to fail next time. The second is that refuting an argument does not refute its conclusion. This has a name (the fallacy fallacy) and it is the occupational hazard of anyone who has recently learned the vocabulary.
There is a version of all this running inside every typed programming language. A type checker verifies validity: it establishes that if the declarations correctly describe the intended values, then certain classes of failure cannot occur. It is a conditional guarantee about structure, and it is completely indifferent to whether any declaration describes anything anybody wanted. That is soundness, and no checker has an opinion about it. A fully typed program can therefore be provably, rigorously, confidently wrong about the business it was written to serve, and everyone who has shipped software knows exactly what that looks like.
A deduction is speech in which, certain things having been supposed, something different results of necessity.
Where you'll meet this
A type checker verifies validity: it proves the program cannot go wrong if the types are right. It has nothing whatever to say about whether they are.