Given two propositions, "*p*" and "*q,*" how do we combine them to form a new proposition, "*p.q*"? Wittgenstein calls the process by which one proposition is generated out of one or more, "base," propositions an "operation." An operation combining elementary propositions in a truth- function is a truth-operation. The structures of all propositions stand in internal relations to one another (5.2), and the business of an operation is to express the relation that stands between the structure of the base proposition and the structure of the resulting proposition (5.22). As such, an operation is not a form or object in its own right; it simply expresses the difference between the forms of two propositions (5.241).

The same operation can be applied successively to produce a series of propositions. Sometimes, as in the case of "not," this procedure can cancel itself out. Apply that operation to "*p*" and we get "*~p,*" but apply it a second time, and "*~p*" becomes "*~ ~ p,*" which is equivalent to "*p.*" In other cases, we can produce an infinite series of different propositions by the repeated application of the same operation. All propositions can be generated from successive truth-operations performed upon elementary propositions (5.3).

Since an operation expresses the relation that exists between a proposition and its bases, there cannot be more than one operation expressing the same relationship. Suppose we were claimed that there were two different operations that combine "*p*" and "*q*" to form "*p.q.*" The fact of the matter is that the two operations would express the same relation between these three propositions, so they would be effectively identical.

Wittgenstein concludes there is something fundamentally flawed about the "logical objects" or "logical constants" of Frege's and Russell's systems (5.4). Frege builds his entire system from the "primitive" connective "not" and "if…then." Russell builds his from "not" and "or." These "primitive" connectives are in fact interchangeable (Frege's "if *p* then *q*" can be expressed in Russell's system as "*q* or not *p,*" and Russell's "*p* or *q*" can be expressed by Frege's "if not *p* then *q*"). If the same proposition can be expressed in a handful of different ways, there is nothing fundamental about the "logical objects"—such as "or," "if…then," and "not"—that are used to express the connections in these propositions (5.42).

Wittgenstein also moves against Frege's and Russell's notion that logic is a set of propositions derived from a few elementary propositions. How is it, for instance, that from "*p*" we can derive an infinite number of further propositions: "*~ ~ p,*" "*~ ~ ~ ~ p,*" and so on? How can a few elementary propositions imply an infinite number of further "propositions of logic"? "In fact," Wittgenstein replies, "all the propositions of logic say the same thing, to wit nothing" (5.43). These further propositions do not tell us anything we didn't already know.

Logic is utterly general and utterly simple. There cannot be a hierarchy of primitive propositions of logic from which other propositions are then derived. Nor can there be multiple ways of expressing the relations that exist between propositions.