This page contains a program that will convert a formula of truth-functional logic into an equivalent formula that uses only the Sheffer Stroke (representing the NAND operation). It won't generally be the shortest equivalent formula, though! Try out ~(A&B), for example. You can generate truth tables for the converted formulas here. See below for the keyboard symbols to use for the logical connectives.
Wittgenstein famously used the Sheffer stroke in the Tractatus, but there it represents the NOR operation (rather than NAND). So here is another converter, this time one that will output an equivalent formula using only a NOR-stroke (here represented using '!'). So (A!B) means ~(AvB) or, equivalently, (~A&~B) i.e. the joint denial of A and B. In the Tractatus Wittgenstein generalized this into his N operator, which forms the joint denial of any collection of propositions. You can read more about that here.
Symbols: use the following keyboard symbols in your input for the various logical connectives:
~ | for negation |
& | for conjunction |
v | for disjunction |
> | for the conditional |
< > | for the biconditional |
# | for absurdity |
| | for NAND (aka the Sheffer Stroke) |
! | for NOR (Wittgenstein's Sheffer Stroke) |
Here are some examples of well-formed inputs the program will accept:
The source code is available on GitHub, just click the icon at the top right corner of the page.